interface ILinguixMessage { type: string; id: string; payload?: any; [key: string]: any; } interface ILinguixBackgroundMessenger { sendToContent(message: ILinguixMessage): void; onContentMessage(callback: (message: ILinguixMessage) => void): void; destroy(): void; } interface ILinguixTextStats { wordsCount: number; charsCount: number; avgWordLength: number; avgSentenceLength: number; sentencesCount: number; fleschIndex: number; textScore: number; readingTimeSeconds: number; speakingTimeSeconds: number; } interface ILinguixConfig { url?: string; apiKey?: string; options?: { query?: { clientToken?: string; }; }; customTagNames?: { highlighter?: string; alert?: string; bar?: string; }; features?: { bar?: boolean; }; language?: string; callbacks?: ILinguixCallbacks; } interface ILinguixCallbacks { onCheckResultReceived?: (result: { textStats?: ILinguixTextStats; alertsCount: number; }) => void; onReplacementApplied?: (data: { originalText: string; replacement: string; description: string; }) => void; } interface ILinguixElementConfig { callbacks?: ILinguixCallbacks; } declare class LinguixCheckerSDK { private static instance; static initialize(config: ILinguixConfig, messenger: ILinguixBackgroundMessenger): void; static destroy(): void; } export { type ILinguixBackgroundMessenger, type ILinguixCallbacks, type ILinguixConfig, type ILinguixElementConfig, type ILinguixMessage, LinguixCheckerSDK };