import { Message, ChatSession, ChatError, DeviceInfo, DeviceType, ChatMode, ChatbotTheme, SupportedLanguage, UnifiedCustomerChatLibraryConfig, ApiConfig, ChatEvent, ChatEventType } from './types';
export declare function isMessage(value: any): value is Message;
export declare function isChatSession(value: any): value is ChatSession;
export declare function isChatError(value: any): value is ChatError;
export declare function isDeviceType(value: any): value is DeviceType;
export declare function isChatMode(value: any): value is ChatMode;
export declare function isDeviceInfo(value: any): value is DeviceInfo;
export declare function isApiConfig(value: any): value is ApiConfig;
export declare function isSupportedLanguage(value: any): value is SupportedLanguage;
export declare function isChatbotTheme(value: any): value is ChatbotTheme;
export declare function isChatEvent(value: any): value is ChatEvent;
export declare function isChatEventType(value: any): value is ChatEventType;
export declare function validateUnifiedChatLibraryConfig(config: Partial<UnifiedCustomerChatLibraryConfig>): {
    isValid: boolean;
    errors: string[];
};
export declare function assertIsMessage(value: any, context?: string): asserts value is Message;
export declare function assertIsChatSession(value: any, context?: string): asserts value is ChatSession;
export declare function assertIsDeviceInfo(value: any, context?: string): asserts value is DeviceInfo;
export declare function assertIsChatMode(value: any, context?: string): asserts value is ChatMode;
export declare function isValidUrl(url: string): boolean;
export declare function isValidApiKey(apiKey: string): boolean;
export declare function isValidEmailAddress(email: string): boolean;
export declare function isValidSessionId(sessionId: string): boolean;
export declare function isValidMessageContent(content: string): boolean;
export declare function sanitizeMessage(message: Partial<Message>): Message | null;
export declare function sanitizeApiConfig(config: Partial<ApiConfig>): ApiConfig;
export declare function validatePerformanceConfig(config: any): boolean;
export declare function validateAccessibilityConfig(config: any): boolean;
export declare class ChatLibraryTypeError extends Error {
    readonly expectedType: string;
    readonly actualType: string;
    readonly context?: string;
    constructor(message: string, expectedType: string, actualType: string, context?: string);
}
export declare function createTypeError(expectedType: string, actualValue: any, context?: string): ChatLibraryTypeError;
export declare function logTypeValidation(value: any, typeName: string, isValid: boolean): void;
export declare function validateAndLog<T>(value: any, validator: (val: any) => val is T, typeName: string): value is T;
//# sourceMappingURL=type-guards.d.ts.map