import { Avatars } from '../../../core/types';
import { DebateOptions } from './types';
export declare class Debate {
    private apiKey;
    private baseUrl;
    private openAIApiKey;
    private openAIResourceName;
    private openAIClient;
    private avatarClientA;
    private avatarClientB;
    private debateTheme;
    private debateHistory;
    private currentSpeaker;
    private avatarsAvailable;
    private prompt;
    private eventEmitter;
    constructor(options: DebateOptions);
    init(): Promise<void>;
    get avatars(): Avatars;
    setAvatarA(avatarId: number): void;
    setAvatarB(avatarId: number): void;
    setDebateTheme(theme: string): void;
    connectAvatars(videoRefA: HTMLVideoElement, audioRefA: HTMLAudioElement, videoRefB: HTMLVideoElement, audioRefB: HTMLAudioElement): Promise<void>;
    debate(): Promise<void>;
    stop(): void;
    addEventListener(eventName: string, listener: (...args: any[]) => void): void;
    removeEventListener(eventName: string, listener: (...args: any[]) => void): void;
    private avatarSpeakingHandler;
    private clearState;
    private stopAvatars;
    private disconnectAvatars;
}
