import { Tool } from '@modelcontextprotocol/sdk/types.js';
import { SearchService } from '../services/search/index.js';
import { IClaudeService } from '../services/claude/IClaudeService.js';
import winston from 'winston';
export interface GenerateToneToolArgs {
    source: string;
    detailLevel?: 'basic' | 'detailed' | 'comprehensive';
}
export interface ToneAnalysisResult {
    source: string;
    sourceType: 'url' | 'domain';
    detailLevel: 'basic' | 'detailed' | 'comprehensive';
    toneAnalysis: {
        formality: string;
        emotion: string;
        style: string;
        wordChoicePatterns?: string;
        sentenceStructure?: string;
        uniqueCharacteristics?: string;
        overallTone: string;
    };
    timestamp: string;
}
export declare class GenerateToneTool {
    private readonly logger;
    private readonly searchService;
    constructor(searchService: SearchService, logger?: winston.Logger);
    getToolDefinition(): Tool;
    execute(args: GenerateToneToolArgs, claudeService: IClaudeService): Promise<string>;
    private validatePostgenDirectory;
    private generateSourceHash;
    private checkExistingTone;
    private determineSourceAndFetchContent;
    private generateToneAnalysis;
    private buildTonePrompt;
    private parseToneResponse;
    private saveResult;
    private formatResponse;
}
//# sourceMappingURL=GenerateToneTool.d.ts.map