import { APIClient, DataWrapper, type DataWrapperCtor, type OAuthGrantClientCredentialsRequest } from '@awell-health/extensions-core';
import { type GetPatientInputType, type PatientResponse, type TaskResponse, type CreateTaskInput } from './schema';
export declare class DockDataWrapper extends DataWrapper {
    private readonly apiKey;
    private readonly organizationId;
    private readonly userId;
    constructor(token: string, baseUrl: string, dockOpts: {
        apiKey: string;
        organizationId: string;
        userId: string;
    });
    getPatient(input: GetPatientInputType): Promise<PatientResponse>;
    createTask(input: CreateTaskInput): Promise<TaskResponse>;
}
interface DockConstructorProps {
    apiKey: string;
    organizationId: string;
    userId: string;
    authUrl: string;
    requestConfig: Omit<OAuthGrantClientCredentialsRequest, 'grant_type'>;
    baseUrl: string;
}
export declare class DockAPIClient extends APIClient<DockDataWrapper> {
    readonly apiKey: string;
    readonly organizatinId: string;
    readonly userId: string;
    readonly ctor: DataWrapperCtor<DockDataWrapper>;
    constructor({ authUrl, requestConfig, ...opts }: DockConstructorProps);
    getPatient(input: GetPatientInputType): Promise<PatientResponse>;
    createTask(input: CreateTaskInput): Promise<TaskResponse>;
}
export {};
