/**
 * HeyGen Avatar Handler
 *
 * Async talking-head generation. Submits a video.generate request, polls
 * the video status, downloads the result MP4.
 *
 * @module avatar/providers/HeyGenAvatar
 * @see https://docs.heygen.com/reference/avatar-video
 */
import type { AvatarHandler, AvatarOptions, AvatarResult, AvatarVideoFormat } from "../../types/index.js";
/**
 * HeyGen Avatar Handler.
 *
 * Auth: `X-API-Key: ${HEYGEN_API_KEY}`. The HeyGen API expects an
 * `avatar_id` (HeyGen's own avatar catalog) — pass it via `options.voice`
 * for legacy callers, or `options.avatarId` for explicit users.
 */
export declare class HeyGenAvatar implements AvatarHandler {
    readonly maxAudioDurationSeconds = 300;
    readonly supportedFormats: readonly AvatarVideoFormat[];
    private readonly apiKey;
    private readonly baseUrl;
    constructor(apiKey?: string);
    isConfigured(): boolean;
    generate(options: AvatarOptions): Promise<AvatarResult>;
    private submitVideo;
    private pollUntilComplete;
    private download;
    private fetchWithTimeout;
}
