import { ErrorHandler } from '../../shared/error-handler';
import { Logger } from '../../shared/logger';
import { PreservationRuleManager } from '../../shared/rule-manager';
import { ProcessResult } from '../../shared/types';
export interface AdvancedCommentsOptions {
    useEnhancedTokenizer?: boolean;
    logger?: Logger;
    preserveFramework?: boolean;
    preserveDevelopment?: boolean;
    preserveTooling?: boolean;
    preserveDocumentation?: boolean;
    customRules?: string[];
    rulePriority?: number;
}
export declare class AdvancedCommentRemover {
    private readonly keepPatterns;
    private readonly enhancedTokenizer;
    private readonly ruleManager;
    private readonly useEnhancedTokenizer;
    private readonly errorHandler;
    private readonly logger;
    private readonly performanceMonitor;
    constructor(keepPatterns: string[], options?: AdvancedCommentsOptions);
    removeComments(content: string, filePath: string): ProcessResult;
    private removeCommentsWithEnhancedTokenizer;
    private removeCommentsWithLegacyTokenizer;
    private getFileExtension;
    private tokenize;
    private parseString;
    private parseTemplateString;
    private parseLineComment;
    private parseBlockComment;
    private parseHtmlComment;
    private parseHashComment;
    private isHashCommentFile;
    private isPartOfUrl;
    private shouldPreserveCommentEnhanced;
    private shouldPreserveComment;
    private configurePreservationRules;
    private addCustomPatterns;
    getRuleManager(): PreservationRuleManager;
    setUseEnhancedTokenizer(enabled: boolean): void;
    private enhanceResultWithErrorInfo;
    private createFailsafeResult;
    private tokenizeWithErrorHandling;
    private validateProcessingResult;
    private validateUrlIntegrity;
    private getErrorSummary;
    getErrorHandler(): ErrorHandler;
    getProcessingStats(): {
        errors: any[];
        warnings: string[];
        errorSummary: {
            total: number;
            bySeverity: Record<string, number>;
            byCategory: Record<string, number>;
        };
        hasErrors: boolean;
        hasCriticalErrors: boolean;
    };
    private getErrorSummaryDetailed;
}
//# sourceMappingURL=advanced-logic.d.ts.map