import { FlynotesServerConfig, RealFlynotesServerConfig } from "./config"; import { Logging } from "./Logging"; import { R4PatientSyncData } from "./message-handlers/R4PatientSyncData"; import { R4ServerData } from "./ServerDataTypes"; export interface FlynotesServer { getLicenceKeyData(licenceKey: string): Promise; patientBulkUpload(csvData: string, licenceKey: string): Promise; patientSync(syncData: R4PatientSyncData, licenceKey: string): Promise; appointmentBulkUpload(csvData: string, licenceKey: string): Promise; appointmentStatusBulkUpload(csvData: string, licenceKey: string): Promise; } export declare class RealFlynotesServer implements FlynotesServer { private readonly config; private readonly logging; constructor(config: RealFlynotesServerConfig, logging: Logging); getLicenceKeyData(licenceKey: string): Promise; patientBulkUpload(csvData: string, licenceKey: string): Promise; patientSync(syncData: R4PatientSyncData, licenceKey: string): Promise; appointmentBulkUpload(csvData: string, licenceKey: string): Promise; appointmentStatusBulkUpload(csvData: string, licenceKey: string): Promise; } export declare class StubFlynotesServer implements FlynotesServer { getLicenceKeyData(licenceKey: string): Promise; patientBulkUpload(csvData: string, licenceKey: string): Promise; patientSync(syncData: R4PatientSyncData, licenceKey: string): Promise; appointmentBulkUpload(csvData: string, licenceKey: string): Promise; appointmentStatusBulkUpload(csvData: string, licenceKey: string): Promise; } export declare function buildFlynotesServer(config: FlynotesServerConfig, logging: Logging): FlynotesServer;