@timesheet/sdk
Version:
Official TypeScript SDK for the Timesheet API
55 lines • 2.27 kB
TypeScript
import type { Authentication } from './auth';
import { RetryConfig } from './config';
import type { AxiosInstance } from 'axios';
import { AbsenceResource, AbsenceTypeResource, AutomationResource, ContractResource, ContractTemplateResource, DocumentResource, EventResource, ExpenseResource, NoteResource, OrganizationResource, PauseResource, ProfileResource, ProjectResource, RateResource, ReportsClient, SettingsResource, TagResource, TaskResource, TeamResource, TimerResource, TodoResource, WebhookResource } from './resources';
export * from './auth';
export * from './config';
export * from './exceptions';
export * from './models';
export * from './http';
export * from './resources';
export declare class TimesheetClient {
private readonly apiClient;
private readonly reportsApiClient;
readonly organizations: OrganizationResource;
readonly teams: TeamResource;
readonly projects: ProjectResource;
readonly tasks: TaskResource;
readonly rates: RateResource;
readonly tags: TagResource;
readonly expenses: ExpenseResource;
readonly notes: NoteResource;
readonly pauses: PauseResource;
readonly profile: ProfileResource;
readonly settings: SettingsResource;
readonly automations: AutomationResource;
readonly documents: DocumentResource;
readonly timer: TimerResource;
readonly todos: TodoResource;
readonly webhooks: WebhookResource;
readonly events: EventResource;
readonly absences: AbsenceResource;
readonly absenceTypes: AbsenceTypeResource;
readonly contracts: ContractResource;
readonly contractTemplates: ContractTemplateResource;
readonly reports: ReportsClient;
constructor(options: TimesheetClientOptions);
private createAuthentication;
}
export interface TimesheetClientOptions {
apiKey?: string;
oauth2Token?: string;
oauth2?: {
clientId: string;
clientSecret: string;
refreshToken: string;
};
authentication?: Authentication;
baseUrl?: string;
reportsBaseUrl?: string;
retryConfig?: RetryConfig;
httpClient?: AxiosInstance;
reportsHttpClient?: AxiosInstance;
}
export declare function createClient(options: TimesheetClientOptions): TimesheetClient;
//# sourceMappingURL=index.d.ts.map