import { QUANTITY, RANGE, RATIO, SAMPLE_DATA } from "../resources/Observation";
export declare const credentials: {
    type: string | undefined;
    project_id: string | undefined;
    private_key_id: string | undefined;
    private_key: string | undefined;
    client_email: string | undefined;
    client_id: string | undefined;
    auth_uri: string | undefined;
    token_uri: string | undefined;
    auth_provider_x509_cert_url: string | undefined;
    client_x509_cert_url: string | undefined;
};
export declare const databasePath: {
    cloudRegion: string | undefined;
    projectId: string | undefined;
    datasetId: string | undefined;
    fhirStoreId: string | undefined;
};
export declare const resourceTypeArray: readonly ["Patient", "Task", "Goal", "VisionPrescription", "RiskAssessment", "RequestGroup", "Practitioner", "Organization", "Encounter", "Condition", "Procedure", "AllergyIntolerance", "Appointment", "Bundle", "Composition", "ServiceRequest", "MedicationStatement", "MedicationRequest", "DocumentReference", "Binary", "PractitionerRole", "Specimen", "DiagnosticReport", "Observation", "Media", "CareTeam", "CarePlan", "ImmunizationRecommendation", "NutritionOrder", "Group", "Device", "Location", "DeviceRequest", "MedicationAdministration", "MedicationDispense", "Immunization", "ImagingStudy", "RelatedPerson", "MolecularSequence", "QuestionnaireResponse", "Slot", "Schedule", "Endpoint", "CoverageEligibilityRequest", "Coverage", "Contract", "HealthcareService", "CommunicationRequest", "Communication", "ValueSet", "Claim", "CoverageEligibilityResponse", "ClaimResponse", "PaymentReconciliation", "PaymentNotice", "InsurancePlan"];
export declare type resourceType = typeof resourceTypeArray[number];
export interface CodeDisplay {
    code?: string;
    display: string;
    system?: "http://snomed.info/sct" | string;
}
export interface CODING extends CodeDisplay {
    version?: string;
    userSelected?: boolean;
}
export interface CODEABLE_CONCEPT {
    coding?: CODING[];
    text?: string;
}
export interface PERIOD {
    start: string;
    end: string;
}
export interface IDENTTIFIER {
    use?: "usual" | "official" | "temp" | "secondary" | "old";
    type?: CODEABLE_CONCEPT;
    system?: string;
    value?: string;
    period?: PERIOD;
    assigner?: {
        Reference: `Organization/${string}`;
    };
}
export interface ADDRESS {
    use?: "home" | "work" | "temp" | "old" | "billing";
    type?: "postal" | "physical" | "both";
    text?: string;
    line?: string[];
    city?: string;
    district: string;
    state: string;
    postalCode?: string;
    country?: string;
    period?: PERIOD;
}
export interface CONTACT_POINT {
    system?: "phone" | "fax" | "email" | "pager" | "url" | "sms" | "other";
    value?: string;
    use?: "home" | "work" | "temp" | "old" | "mobile";
    rank?: number;
    period?: PERIOD;
}
export interface DURATION {
    value?: number;
    comparator?: '<' | '<=' | '>=' | '>';
    unit?: string;
    system?: string;
    code?: string;
}
export interface CONTACT_DETAIL {
    name?: string;
    telecom?: CONTACT_POINT[];
}
export interface HUMAN_NAME {
    use?: "usual" | "official" | "temp" | "nickname" | "anonymous" | "old" | "maiden";
    text?: string;
    family?: string;
    given?: string[];
    prefix?: string[];
    suffix?: string[];
    period?: PERIOD;
}
export interface MULTI_RESOURCE {
    resource: resourceType;
    id: string;
    display?: string;
    type?: string;
    identifier?: IDENTTIFIER;
    reference?: string;
}
export declare const LOINC_SCALE: readonly ["Doc", "OrdQn", "-", "Nar", "Nom", "Ord", "Qn"];
export declare type LoincScale = typeof LOINC_SCALE[number];
export interface ACTOR {
    multiResource: MULTI_RESOURCE;
}
export interface POSITION {
    longitude: number;
    latitude: number;
    altitude?: number;
}
export declare const DaysOfWeek: readonly ["mon", "tue", "wed", "thu", "fri", "sat", "sun"];
declare type DaysOfWeek = typeof DaysOfWeek[number];
export interface HOURS_OF_OPERATION {
    daysOfWeek?: DaysOfWeek[];
    allDay?: boolean;
    openingTime?: string;
    closingTime?: string;
}
export interface AVAILIBILITY {
    availableTime: AVAILABLE_TIME[];
    notAvailableTime: NOT_AVAILABLE[];
}
export interface AVAILABLE_TIME {
    daysOfWeek: DaysOfWeek[];
    allDay?: boolean;
    availableStartTime: string;
    availableEndTime: string;
}
export interface NOT_AVAILABLE {
    description: string;
    during: PERIOD;
}
export interface VALUES_COMPLEX {
    valueBase64Binary?: string;
    valueBoolean?: boolean;
    valueCanonical?: string;
    valueCode?: string;
    valueDate?: string;
    valueDateTime?: string;
    valueDecimal?: number;
    valueId?: string;
    valueInstant?: string;
    valueInteger?: number;
    valueMarkdown?: string;
    valueOid?: string;
    valuePositiveInt?: number;
    valueString?: string;
    valueTime?: string;
    valueUnsignedInt?: number;
    valueUri?: string;
    valueUrl?: string;
    valueUuid?: string;
    valueCodeableConcept?: CODEABLE_CONCEPT;
    valueAttachment?: ATTACHMENT;
    valueCoding?: CODING;
    valueCount?: number;
    valueIdentifier?: IDENTTIFIER;
    valuePeriod?: PERIOD;
    valueMoney?: MONEY;
    valueHumanName?: HUMAN_NAME;
    valueQuantity?: QUANTITY;
    valueRange?: RANGE;
    valueReference?: REFERENCE;
    valueRatio?: RATIO;
    valueContactPoint?: CONTACT_POINT;
    valueContactDetail?: CONTACT_DETAIL;
    valueAddress?: ADDRESS;
    valueSampledData?: SAMPLE_DATA;
    valueDuration?: DURATION;
}
export interface EXTENSION extends VALUES_COMPLEX {
    url: string;
    extension?: EXTENSION;
}
export interface ATTACHMENT {
    /**"application/pdf" */
    contentType: string;
    language: "en-IN";
    /**data 	base64Binary*/
    data?: any;
    url?: string;
    /**base64Binary*/
    hash?: any;
    size?: string;
    title: string;
    /**new Date().toISOString() */
    creation: string;
}
export interface REFERENCE {
    reference?: string;
    type?: resourceType;
    identifier?: IDENTTIFIER;
    display?: string;
}
export interface MONEY {
    value?: number;
    currency?: string;
}
export {};
//# sourceMappingURL=index.d.ts.map