import React from 'react';
import { VoiceAIConfig, VoiceInterfaceMode, VisibilityConfig, CustomLabels } from '../../../types/src/types';
import { VoiceAITheme } from '../types/theme';
interface VoiceContextValue {
    theme: VoiceAITheme;
    updateTheme: (newTheme: Partial<VoiceAITheme>) => void;
    resetTheme: () => void;
    config?: VoiceAIConfig;
    mode?: VoiceInterfaceMode;
    visibility: VisibilityConfig;
    labels: CustomLabels;
    updateConfig: (newConfig: Partial<VoiceAIConfig>) => void;
    setMode: (mode: VoiceInterfaceMode) => void;
    updateVisibility: (visibility: Partial<VisibilityConfig>) => void;
    updateLabels: (labels: Partial<CustomLabels>) => void;
}
export interface VoiceProviderProps {
    children: React.ReactNode;
    theme?: Partial<VoiceAITheme>;
    config?: VoiceAIConfig;
    mode?: VoiceInterfaceMode;
    visibilityOverrides?: Partial<VisibilityConfig>;
    customLabels?: Partial<CustomLabels>;
}
export declare const VoiceProvider: React.FC<VoiceProviderProps>;
export declare const useVoiceContext: () => VoiceContextValue;
export declare const useVoiceThemeContext: () => {
    theme: VoiceAITheme;
    updateTheme: (newTheme: Partial<VoiceAITheme>) => void;
    resetTheme: () => void;
};
export declare const useComponentTheme: (componentTheme?: Partial<VoiceAITheme>) => VoiceAITheme;
export default VoiceProvider;
