UNPKG

coconut-open-api-js

Version:
76 lines (75 loc) 2.87 kB
import { AxiosInstance } from 'axios'; import Days from './constants/days'; import MeetingMethods from './constants/meeting-methods'; import Notifications from './constants/notifications'; import Origins from './constants/origins'; import Visibilities from './constants/visibilities'; import Answer from './models/answer'; import Attendee from './models/attendee'; import Client from './models/client'; import Preference from './models/preference'; import Response from './models/response'; import { AppointmentResource } from './resources/appointment'; import { FormResource } from './resources/form'; import { LocationResource } from './resources/location'; import { QuestionResource } from './resources/question'; import { QueueAppointmentResource } from './resources/queue-appointment'; import { ServiceResource } from './resources/service'; import { TimeSlotResource } from './resources/time-slot'; import { TimezoneResource } from './resources/timezone'; import { UserResource } from './resources/user'; import { WaitListResource } from './resources/wait-list'; import { WaitTimeResource } from './resources/wait-time'; export interface Filterable<T> { filter?: T; limit?: number; page?: number; sort?: string; } export interface IncludableParameters { include?: string; } export interface ModelInterface { getAttributes(): object; } export interface Pageable extends Sortable { on(page: number): this; take(limit: number): this; } export interface Resource { get(): Promise<any>; } export interface Sortable extends Resource { sortBy(sortable: string): this; } export { Answer, Attendee, Client, Days, MeetingMethods, Notifications, Origins, Preference, Response, Visibilities }; export declare class OpenApi { protected appointment: AppointmentResource; protected queueAppointment: QueueAppointmentResource; protected form: FormResource; protected client: AxiosInstance; protected domain?: string; protected list: WaitListResource; protected location: LocationResource; protected question: QuestionResource; protected service: ServiceResource; protected setting: Resource; protected slot: TimeSlotResource; protected timezone: TimezoneResource; protected user: UserResource; protected waitTime: WaitTimeResource; constructor(domain?: string); appointments(): AppointmentResource; queueAppointments(): QueueAppointmentResource; forms(): FormResource; locale(locale: string): this; lists(): WaitListResource; locations(): LocationResource; questions(): QuestionResource; services(): ServiceResource; settings(): Resource; slots(): TimeSlotResource; timezones(): TimezoneResource; users(): UserResource; waitTimes(): WaitTimeResource; }