from . import fhir_formatting as fhir_formatting, special_values as special_values
from .config.FhirSheetsConfiguration import FhirSheetsConfiguration as FhirSheetsConfiguration
from .model.cohort_data_entity import CohortData as CohortData
from .model.resource_definition_entity import ResourceDefinition as ResourceDefinition
from .model.resource_link_entity import ResourceLink as ResourceLink
from _typeshed import Incomplete
from jsonpath_ng.jsonpath import Fields as Fields, Slice as Slice, Where as Where
from typing import Any

FILE_RANDOM: Incomplete

def create_transaction_bundle(resource_definition_entities: list[ResourceDefinition], resource_link_entities: list[ResourceLink], cohort_data: CohortData, index: int = 0, config: FhirSheetsConfiguration = ...) -> dict: ...
def create_resources(resource_definition_entities: list[ResourceDefinition], resource_link_entities: list[ResourceLink], cohort_data: CohortData, index: int = 0, config: FhirSheetsConfiguration = ...) -> dict: ...
def create_singular_resource(singleton_entityName: str, resource_definition_entities: list[ResourceDefinition], resource_link_entities: list[ResourceLink], cohort_data: CohortData, index: int = 0) -> dict: ...
def initialize_bundle(config: FhirSheetsConfiguration) -> dict: ...
def initialize_resource(resource_definition: ResourceDefinition) -> dict: ...
def create_fhir_resource(resource_definition: ResourceDefinition, cohort_data: CohortData, index: int = 0, config: FhirSheetsConfiguration = ...) -> dict: ...
def add_default_resource_links(created_resources: dict, resource_link_entities: list[ResourceLink]) -> None: ...
def create_resource_links(created_resources, resource_link_entites, preview_mode: bool = False) -> None: ...
def create_resource_link(created_resources, resource_link_entity, preview_mode: bool = False) -> None: ...
def add_resource_to_transaction_bundle(root_bundle, fhir_resource) -> dict: ...
def create_structure_from_jsonpath(root_struct: dict, json_path: str, resource_definition: ResourceDefinition, dataType: str, value: Any) -> Any: ...
def build_structure(current_struct: Any, json_path: str, resource_definition: ResourceDefinition, dataType: str, parts: list[str], value: Any, previous_parts: list[str]) -> Any: ...
def build_structure_recurse(current_struct, json_path, resource_definition, dataType, parts, value, previous_parts, part): ...
def post_process_create_medication_references(root_bundle: dict): ...
def createMedicationResource(root_bundle, medicationCodeableConcept): ...
def generate_UUID(): ...
