import { CODEABLE_CONCEPT } from "../config";
import { ResourceMaster } from "../Interfaces";
import { PARTICIPANT } from "./objects/Partipant";
import ResourceMain from "./ResourceMai";
export declare const AppointmentStatusArray: readonly ["proposed", "pending", "booked", "arrived", "fulfilled", "cancelled", "noshow", "entered-in-error", "checked-in", "waitlist"];
declare type AppointmentStatus = typeof AppointmentStatusArray[number];
export declare const AppointmentActorStatusArray: readonly ["accepted", "declined", "tentative", "needs-action"];
declare type AppointmentActorStatus = typeof AppointmentActorStatusArray[number];
export interface APPOINTMENT {
    id?: string;
    participants: PARTICIPANT[];
    status: AppointmentStatus;
    serviceCategory?: CODEABLE_CONCEPT[];
    serviceType?: CODEABLE_CONCEPT[];
    specialty?: CODEABLE_CONCEPT[];
    appointmentType?: CODEABLE_CONCEPT;
    reasonCode?: CODEABLE_CONCEPT[];
    createdDate: string;
    startDate: string;
    endDate: string;
    description: string;
    priority: number;
    slotId?: string[];
    organizationId: string;
}
export declare class Appointment extends ResourceMain implements ResourceMaster {
    toHtml(): Promise<string>;
    getFHIR(options: APPOINTMENT): any;
    convertFhirToObject(options: any): APPOINTMENT;
    statusArray: () => AppointmentStatus[];
    actorStatusArray: () => AppointmentActorStatus[];
}
export {};
//# sourceMappingURL=Appointment.d.ts.map