import { APIClient, DataWrapper, type DataWrapperCtor } from '@awell-health/extensions-core';
/**
 * This is an example of implementing data wrappers and API clients
 */
declare class SampleDataWrapper extends DataWrapper {
    hello(): Promise<'world'>;
}
declare class SampleAPIClient extends APIClient<SampleDataWrapper> {
    readonly ctor: DataWrapperCtor<SampleDataWrapper>;
    /**
     * It's recommended to override the base constructor, as it simplifies setup when the client is used by more
     * than one action.
     */
    constructor(opts: unknown);
    hello(): Promise<'world'>;
}
/**
 * Sometimes it's easier to use a constructor fxn for the api client.
 * In the case below, we validate the extension's settings as:
 * payloadSettings: Record<keyof typeof settings, string | undefined>
 * by parsing the settings according to our zod schema:
 * const { base_url, ... } = settingsSchema.parse(payloadSettings)
 */
export declare const makeSampleAPIClient: (payloadSettings: Record<string, string | undefined>) => SampleAPIClient;
export {};
