/**
 * PZG Pro - Contract Testing Generator
 * DMMF-based implementation for API contract testing
 */
import { ProFeatureBase } from '../../core/ProFeatureBase';
export interface ContractTestConfig {
    outputPath?: string;
    providers?: string[];
    consumers?: string[];
    includeResponseValidation?: boolean;
    includeRequestValidation?: boolean;
    mockServer?: boolean;
    wiremockConfig?: WiremockConfig;
}
export interface WiremockConfig {
    port?: number;
    host?: string;
    mappingsPath?: string;
    standalone?: boolean;
}
export interface ContractDefinition {
    provider: string;
    consumer: string;
    interactions: Interaction[];
}
export interface Interaction {
    description: string;
    request: {
        method: string;
        path: string;
        headers?: Record<string, string>;
        body?: unknown;
        query?: Record<string, string>;
    };
    response: {
        status: number;
        headers?: Record<string, string>;
        body?: unknown;
    };
}
export declare class ContractTestingGenerator extends ProFeatureBase {
    private config;
    constructor(context: any, config?: ContractTestConfig);
    protected getFeatureName(): string;
    protected generateFeature(): Promise<void>;
    private generateContractDefinitions;
    private generateModelInteractions;
    private generateRequestSchema;
    private generateResponseSchema;
    private generateFieldExample;
    private generatePactTests;
    private generatePactTestFile;
    private generatePactInteraction;
    private generateMockServer;
    private generateMockServerCode;
    private generateMockEndpoint;
    private generateWiremockMappings;
    private generateWiremockMapping;
    private generateValidationHelpers;
    private generateValidationHelpersCode;
    private generateModelValidationSchema;
    private getZodType;
    private generateContractDocumentation;
    private generateDocumentationContent;
    private generateAPIClient;
    private generateAPIClientCode;
    private generateModelClientMethods;
}
