import { Extension } from '@tiptap/core';
import type { AIAnalysisResult, SuggestionType, AIServiceProvider } from '../types/ai-assistant';
/**
 * Personal AI Writing Assistant Extension
 *
 * Main coordinator extension that provides real-time AI analysis and suggestions
 * including grammar, tone, clarity, fact-checking, and knowledge graph integration.
 */
declare module '@tiptap/core' {
    interface Commands<ReturnType> {
        personalAssistant: {
            /**
             * Toggle AI analysis on/off
             */
            toggleAIAnalysis: () => ReturnType;
            /**
             * Accept a specific suggestion
             */
            acceptSuggestion: (suggestionId: string) => ReturnType;
            /**
             * Dismiss a specific suggestion
             */
            dismissSuggestion: (suggestionId: string) => ReturnType;
            /**
             * Request AI analysis of current content
             */
            analyzeContent: () => ReturnType;
            /**
             * Insert AI-generated completion
             */
            insertCompletion: (completion: string) => ReturnType;
        };
    }
}
export interface PersonalAssistantOptions {
    enabled: boolean;
    apiKey?: string;
    serviceProvider: AIServiceProvider;
    enabledSuggestionTypes: SuggestionType[];
    analysisDelay: number;
    maxSuggestions: number;
    privacyMode: 'public' | 'private' | 'local';
    dataRetentionDays: number;
    allowTelemetry: boolean;
    showInlineAnnotations: boolean;
    showSuggestionPopover: boolean;
    animationsEnabled: boolean;
    enableKnowledgeIntegration: boolean;
    knowledgeGraphEndpoint?: string;
    writingStyle: 'formal' | 'casual' | 'technical' | 'creative';
    tonePreference: string[];
    customInstructions?: string;
    onSuggestionAccepted?: (suggestion: AIAnalysisResult) => void;
    onSuggestionDismissed?: (suggestionId: string) => void;
    onAnalysisComplete?: (results: AIAnalysisResult[]) => void;
    onError?: (error: Error) => void;
}
export declare const PersonalAssistantExtension: Extension<PersonalAssistantOptions, any>;
//# sourceMappingURL=PersonalAssistantExtension.d.ts.map