import React, { ReactNode } from "react";
import { type AudioTrack, type AudioOutputsServicePlayOptions, type AudioManagerOptions as OriginalAudioManagerOptions } from "@charisma-ai/sdk";
type AudioManagerContextType = {
    isListening: boolean;
    isBrowserSupported: boolean;
    initialise: () => void;
    transcript: string;
    interimTranscript: string;
    liveTranscript: string;
    recordingStatus: RecordingStatus;
    clearTranscript: () => void;
    startListening: (timeout?: number) => void;
    stopListening: () => void;
    connect: (token: string, playerSessionId: string) => void;
    disconnect: () => void;
    resetTimeout: (timeout: number) => void;
    playCharacterSpeech: (audio: ArrayBuffer, playOptions: boolean | AudioOutputsServicePlayOptions) => Promise<void> | undefined;
    getCharacterSpeechAnalyserNode: () => AnalyserNode | undefined | null;
    characterSpeechVolume: number;
    setCharacterSpeechVolume: (volume: number) => void;
    characterSpeechIsMuted: boolean;
    setCharacterSpeechMuted: (muted: boolean) => void;
    playMediaAudio: (audioTracks: AudioTrack[]) => void;
    mediaAudioVolume: number;
    setMediaAudioVolume: (volume: number) => void;
    mediaAudioIsMuted: boolean;
    setMediaAudioMuted: (muted: boolean) => void;
    stopAllMedia: () => void;
};
export type ModifiedAudioManagerOptions = Omit<OriginalAudioManagerOptions, "handleTranscript" | "handleInterimTranscript" | "handleStartSTT" | "handleStopSTT">;
export type RecordingStatus = "OFF" | "STARTING" | "RECORDING";
export declare const AudioManagerProvider: ({ children, options, }: {
    children: ReactNode;
    options: ModifiedAudioManagerOptions;
}) => React.JSX.Element;
export declare const useAudioManager: () => AudioManagerContextType;
export {};
