import { StreamingManager } from '../streaming-manager';
import { Agent, AgentManagerOptions, AgentsAPI, AudioDetectionMetrics, Chat, ChatProgressCallback, CreateSessionV2Options, CreateStreamOptions } from '../../types';
import { Analytics } from '../analytics/mixpanel';

type ConnectToManagerOptions = AgentManagerOptions & {
    callbacks: AgentManagerOptions['callbacks'] & {
        onVideoIdChange?: (videoId: string | null) => void;
        /** Internal callback for livekit-manager data channel events */
        onMessage?: ChatProgressCallback;
        onFirstAudioDetected?: (metrics: AudioDetectionMetrics) => void;
    };
    chatId?: string;
};
export declare function initializeStreamAndChat(agent: Agent, options: ConnectToManagerOptions, agentsApi: AgentsAPI, analytics: Analytics, chat?: Chat): Promise<{
    chat?: Chat;
    streamingManager?: StreamingManager<CreateStreamOptions | CreateSessionV2Options>;
}>;
export {};
