/**
 * Task Output Validator Service
 *
 * Validates structured task output against JSON Schema definitions
 * embedded in task markdown files. Uses ajv for schema validation.
 *
 * @module services/quality/task-output-validator.service
 */
import { type TaskOutputSchema, type TaskOutputValidationResult, type TaskOutputRetryInfo } from '../../types/task-output.types.js';
/**
 * Singleton service for validating task outputs against JSON Schema.
 *
 * @example
 * ```typescript
 * const validator = TaskOutputValidatorService.getInstance();
 * const result = validator.validate({ summary: 'Done' }, schema);
 * ```
 */
export declare class TaskOutputValidatorService {
    private static instance;
    private ajv;
    private logger;
    private constructor();
    /**
     * Get the singleton instance of TaskOutputValidatorService
     *
     * @returns The singleton instance
     */
    static getInstance(): TaskOutputValidatorService;
    /**
     * Clear the singleton instance (for testing)
     */
    static clearInstance(): void;
    /**
     * Validate output data against a JSON Schema
     *
     * @param output - The output object to validate
     * @param schema - The JSON Schema to validate against
     * @returns Validation result with errors if invalid
     */
    validate(output: Record<string, unknown>, schema: TaskOutputSchema): TaskOutputValidationResult;
    /**
     * Extract a TaskOutputSchema from a task markdown file's content.
     * Looks for a fenced JSON code block under the ## Output Schema header.
     *
     * @param content - The full markdown content of a task file
     * @returns The parsed schema, or null if none found
     */
    extractSchemaFromMarkdown(content: string): TaskOutputSchema | null;
    /**
     * Extract retry information from a task markdown file's content.
     * Looks for structured data under the ## Output Validation Retry Info header.
     *
     * @param content - The full markdown content of a task file
     * @returns The parsed retry info, or null if none found
     */
    extractRetryInfoFromMarkdown(content: string): TaskOutputRetryInfo | null;
    /**
     * Generate a markdown section containing the output schema
     *
     * @param schema - The schema to embed
     * @returns Markdown string with the schema in a fenced code block
     */
    generateSchemaMarkdown(schema: TaskOutputSchema): string;
    /**
     * Generate a markdown section containing retry information
     *
     * @param retryInfo - The retry info to embed
     * @returns Markdown string with the retry info in a fenced code block
     */
    generateRetryMarkdown(retryInfo: TaskOutputRetryInfo): string;
    /**
     * Validate output size against the maximum allowed size
     *
     * @param output - The output object to check
     * @returns Object with valid flag, size in bytes, and optional error
     */
    validateOutputSize(output: Record<string, unknown>): {
        valid: boolean;
        sizeBytes: number;
        error?: string;
    };
}
//# sourceMappingURL=task-output-validator.service.d.ts.map