import { default as React } from 'react';
import { GetInfoFormData } from './GetInfoForm';
import { RuntimeAgentResponse } from './agent';
export interface CallProps {
    apiKey: string;
    baseUrl: string;
    assistantId?: string;
    enterpriseId: string;
    showClose?: boolean;
    config?: Record<string, unknown>;
    personName?: string;
    personRole?: string;
    personImage?: string;
    className?: string;
    style?: React.CSSProperties;
    containerClassName?: string;
    containerStyle?: React.CSSProperties;
    muteIcon?: React.ReactNode;
    speakerIcon?: React.ReactNode;
    controlsContainerClassName?: string;
    callNowButtonClassName?: string;
    endCallButtonClassName?: string;
    muteButtonClassName?: string;
    speakerButtonClassName?: string;
    personRoleTextClassName?: string;
    personNameTextClassName?: string;
    isMobile?: boolean;
    onClose?: () => void;
    mediaId?: string;
    leadData?: GetInfoFormData;
    agentData?: RuntimeAgentResponse;
    autoCall?: boolean;
}
export interface CallInterfaceProps {
    personName: string;
    personRole: string;
    personImage: string;
    showClose?: boolean;
    className?: string;
    style?: React.CSSProperties;
    containerClassName?: string;
    containerStyle?: React.CSSProperties;
    muteIcon?: React.ReactNode;
    speakerIcon?: React.ReactNode;
    personRoleTextClassName?: string;
    personNameTextClassName?: string;
    isConnected?: boolean;
    isConnecting?: boolean;
    isSpeaking?: boolean;
    isMuted?: boolean;
    isSpeakerOn?: boolean;
    callDuration?: number;
    onStartCall?: () => void;
    onEndCall?: () => void;
    onToggleMute?: () => void;
    onToggleSpeaker?: () => void;
    formatTime?: (duration: number) => string;
    controlsContainerClassName?: string;
    callNowButtonClassName?: string;
    endCallButtonClassName?: string;
    muteButtonClassName?: string;
    speakerButtonClassName?: string;
    isLoading?: boolean;
    onClose?: () => void;
    isMobile?: boolean;
    autoCall?: boolean;
}
export interface StartCallProps {
    personName: string;
    personRole: string;
    personImage: string;
    onStartCall: () => void;
    className?: string;
    style?: React.CSSProperties;
    containerClassName?: string;
    containerStyle?: React.CSSProperties;
    muteIcon?: React.ReactNode;
    speakerIcon?: React.ReactNode;
}
export interface OngoingCallProps {
    personName: string;
    personRole: string;
    personImage: string;
    isConnected: boolean;
    isConnecting: boolean;
    isSpeaking: boolean;
    isMuted: boolean;
    isSpeakerOn: boolean;
    callDuration: number;
    onEndCall: () => void;
    onToggleMute: () => void;
    onToggleSpeaker: () => void;
    formatTime: (duration: number) => string;
    className?: string;
    style?: React.CSSProperties;
    containerClassName?: string;
    containerStyle?: React.CSSProperties;
    speakerIcon?: React.ReactNode;
    muteIcon?: React.ReactNode;
}
