coconut-open-api-js
Version:
Coconut Calendar JS Open API SDK
76 lines (75 loc) • 2.87 kB
TypeScript
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;
}