import type { KIECreateTaskRequest, KIETaskResponse } from '../../types/api.js';
export interface KIEClientOptions {
    initialBackoffMs?: number;
}
export declare class KIEClient {
    private readonly apiKey;
    private readonly initialBackoffMs;
    constructor(apiKey: string, options?: KIEClientOptions);
    createTask(request: KIECreateTaskRequest): Promise<KIETaskResponse>;
    getTaskStatus(taskId: string): Promise<KIETaskResponse>;
    private createFluxKontextTask;
    private createMarketTask;
    private unwrapEnvelope;
    private validateRequest;
    private sendRequest;
    /**
     * Creates a task and polls until completion, returning the image URL.
     * Supports both market models (nano-banana-2 etc.) and flux kontext models.
     * Polls every 5 seconds, max 60 attempts (5 minutes timeout).
     */
    generateAndWait(request: KIECreateTaskRequest): Promise<string>;
}
export declare function createKIEClient(): KIEClient;
//# sourceMappingURL=kie-client.d.ts.map