UNPKG

cliniko-api-client

Version:

TypeScript client for Cliniko API with full type safety

36 lines 2.78 kB
import { Patient, Practitioner, AppointmentType, IndividualAppointment, Business, TreatmentNote, PaginatedResponse, QueryFilter, CreatePatientRequest, CreateAppointmentRequest, CreatePractitionerRequest, CreateTreatmentNoteRequest } from './types'; export declare class ClinikoClient { private client; constructor(apiKey?: string, baseUrl?: string, userEmail?: string); private buildQueryParams; getPatients(filters?: QueryFilter[], page?: number): Promise<PaginatedResponse<Patient>>; getPatient(id: number): Promise<Patient>; createPatient(patientData: CreatePatientRequest): Promise<Patient>; updatePatient(id: number, patientData: Partial<Patient>): Promise<Patient>; deletePatient(id: number): Promise<void>; searchPatients(firstName?: string, lastName?: string, email?: string): Promise<PaginatedResponse<Patient>>; getPractitioners(filters?: QueryFilter[], page?: number): Promise<PaginatedResponse<Practitioner>>; getPractitioner(id: number): Promise<Practitioner>; createPractitioner(practitionerData: CreatePractitionerRequest): Promise<Practitioner>; updatePractitioner(id: number, practitionerData: Partial<Practitioner>): Promise<Practitioner>; getAppointments(filters?: QueryFilter[], page?: number): Promise<PaginatedResponse<IndividualAppointment>>; getAppointment(id: number): Promise<IndividualAppointment>; createAppointment(appointmentData: CreateAppointmentRequest): Promise<IndividualAppointment>; updateAppointment(id: number, appointmentData: Partial<IndividualAppointment>): Promise<IndividualAppointment>; cancelAppointment(id: number, reason?: string): Promise<void>; getTodaysAppointments(): Promise<PaginatedResponse<IndividualAppointment>>; getAppointmentsByDateRange(startDate: Date, endDate: Date): Promise<PaginatedResponse<IndividualAppointment>>; getAppointmentTypes(filters?: QueryFilter[]): Promise<PaginatedResponse<AppointmentType>>; getAppointmentType(id: number): Promise<AppointmentType>; createAppointmentType(appointmentTypeData: Partial<AppointmentType>): Promise<AppointmentType>; getBusinesses(): Promise<PaginatedResponse<Business>>; getBusiness(id: number): Promise<Business>; getTreatmentNotes(filters?: QueryFilter[], page?: number): Promise<PaginatedResponse<TreatmentNote>>; getTreatmentNote(id: number): Promise<TreatmentNote>; createTreatmentNote(noteData: CreateTreatmentNoteRequest): Promise<TreatmentNote>; updateTreatmentNote(id: number, noteData: Partial<TreatmentNote>): Promise<TreatmentNote>; getTreatmentNotesForPatient(patientId: number): Promise<PaginatedResponse<TreatmentNote>>; testConnection(): Promise<boolean>; getAccountInfo(): Promise<void>; } //# sourceMappingURL=client.d.ts.map