import { DocumentGenerationParams, DocumentGenerationResult } from '../types/documentation-types.js';
/**
 * Service for generating and managing documentation
 */
export declare class DocumentService {
    private aiService;
    private outputDir;
    /**
     * Creates an instance of DocumentService
     * @param apiToken - API token for the AI service
     * @param provider - AI provider to use
     * @param outputDir - Directory to write documentation to
     */
    constructor(apiToken: string, provider?: 'anthropic' | 'openai', outputDir?: string);
    /**
     * Generates documentation based on the provided parameters
     * @param params - Parameters for document generation
     * @returns Promise resolving to the generation result
     */
    generateDocumentation(params: DocumentGenerationParams): Promise<DocumentGenerationResult>;
    /**
     * Generates and writes documentation to files
     * @param params - Parameters for document generation
     * @param outputDir - Directory to write documentation to (overrides constructor value)
     * @returns Promise resolving to the generation result with file paths
     * @throws {GenerationFailedError} When document generation fails
     */
    generateAndWriteDocumentation(params: DocumentGenerationParams, outputDir?: string): Promise<DocumentGenerationResult & {
        filePaths: string[];
    }>;
    /**
     * Ensures a directory exists, creating it if necessary
     * @param dir - Directory path
     */
    private ensureDirectoryExists;
}
