import { Room } from 'livekit-client';
import { ReactNode } from 'react';
import { AvatarClient } from 'alpha-ai-avatar-sdk-js';
import { Prompt, TranscriberStatus } from 'alpha-ai-avatar-sdk-js';
import { ChatMessage } from '../core/types';
type SayOptions = {
    voiceName?: string;
    voiceStyle?: string;
    multilingualLang?: string;
    prosody?: {
        contour?: string;
        pitch?: string;
        range?: string;
        rate?: string;
        volume?: string;
    };
    ssmlVoiceConfig?: string;
};
export type AvatarContextType = {
    client: AvatarClient;
    room?: Room;
    messages: ChatMessage[];
    isConnected: boolean;
    isAvatarSpeaking: boolean;
    transcriberStatus: TranscriberStatus;
    connect: (avatarId?: number, conversational?: boolean, initialPrompt?: Prompt[]) => Promise<void>;
    say: (message: string, options?: SayOptions) => Promise<void>;
    stop: () => Promise<void>;
    switchAvatar: (avatarId: number) => Promise<void>;
    enableMicrophone: () => Promise<void>;
    disableMicrophone: () => Promise<void>;
    clearMessages: () => void;
    disconnect: () => Promise<void>;
};
declare const AvatarContext: import("react").Context<AvatarContextType>;
type AvatarProviderProps = {
    children: ReactNode;
    client: AvatarClient;
};
declare function AvatarProvider({ children, client }: AvatarProviderProps): import("react/jsx-runtime").JSX.Element;
export { AvatarContext, AvatarProvider };
