import type { ZodType } from 'zod/v4';
import type { DonobuGptClientConfig } from '../models/GptConfig';
import type { AssistantMessage, GptMessage, ProposedToolCallsMessage, StructuredOutputMessage } from '../models/GptMessage';
import type { ToolOption } from './GptClient';
import { GptClient } from './GptClient';
/**
 * A GPT client implemented using the Donobu API.
 */
export declare class DonobuGptClient extends GptClient {
    private readonly delegate;
    private readonly apiUrl;
    constructor(donobuGptClientConfig: DonobuGptClientConfig, apiUrl?: string);
    ping(options?: {
        signal?: AbortSignal;
    }): Promise<void>;
    getMessage(messages: GptMessage[], options?: {
        signal?: AbortSignal;
    }): Promise<AssistantMessage>;
    getStructuredOutput<T>(messages: GptMessage[], zodSchema: ZodType<T>, options?: {
        signal?: AbortSignal;
    }): Promise<StructuredOutputMessage<T>>;
    getToolCalls(messages: GptMessage[], tools: ToolOption[], options?: {
        signal?: AbortSignal;
    }): Promise<ProposedToolCallsMessage>;
    /**
     * The delegate {@link OpenAiGptClient} stamps exceptions with platform
     * `'OPENAI'`. This wrapper re-throws them with the actual platform type
     * (e.g. `'DONOBU'`) so that user-facing messages reference the correct
     * provider.
     */
    private rethrowWithCorrectPlatform;
}
//# sourceMappingURL=DonobuGptClient.d.ts.map