import type { ComplianceResult, DataDestination, DataPorterConfig, DataSource, ExportRequest, GDPRConfig, HIPAAConfig, PorterEncryptionConfig, QualityValidationResult, SchemaValidationResult, SOXConfig, SupportedFormat, ValidationConfig } from "./enterprise-data-porter.types";
export type DataConnection = {
    close: () => Promise<void>;
    query?: (sql: string, _values?: unknown[]) => Promise<unknown[]>;
    read?: () => Promise<Buffer>;
    fetch?: (options?: unknown) => Promise<unknown>;
    putObject?: (params: {
        Key: string;
        Body: string;
        ContentType?: string;
    }) => Promise<void>;
    getObject?: (key: string) => Promise<{
        Body: Buffer;
    }>;
    listObjects?: (prefix?: string) => Promise<{
        Contents: unknown[];
    }>;
};
export declare abstract class FormatHandler {
    abstract serialize(_data: unknown[], _options: unknown): Promise<unknown>;
    abstract deserialize(_data: unknown, _options: unknown): Promise<unknown[]>;
}
export declare class JSONFormatHandler extends FormatHandler {
    serialize(data: unknown[], options: unknown): Promise<string>;
    deserialize(data: unknown, _options: unknown): Promise<unknown[]>;
}
export declare class CSVFormatHandler extends FormatHandler {
    serialize(data: unknown[], _options: unknown): Promise<string>;
    deserialize(data: string, _options: unknown): Promise<unknown[]>;
    private escapeCSVField;
}
export declare class XMLFormatHandler extends FormatHandler {
    serialize(data: unknown[], _options: unknown): Promise<string>;
    deserialize(data: string, _options: unknown): Promise<unknown[]>;
    private unescapeXML;
    private escapeXML;
}
export declare class YAMLFormatHandler extends FormatHandler {
    serialize(data: unknown[], _options: unknown): Promise<string>;
    deserialize(data: string, _options: unknown): Promise<unknown[]>;
    private serializeObject;
    private parseYAMLValue;
    private escapeYAMLValue;
}
export declare class BinaryFormatHandler extends FormatHandler {
    serialize(data: unknown[], _options: unknown): Promise<Buffer>;
    deserialize(data: unknown, _options: unknown): Promise<unknown[]>;
}
export declare class EncryptedFormatHandler extends FormatHandler {
    private encryptionService?;
    setEncryptionService(encryptionService: EncryptionService): void;
    serialize(data: unknown[], _options: unknown): Promise<string>;
    deserialize(data: string, _options: unknown): Promise<unknown[]>;
}
export declare class DataConnectionManager {
    connectToDataSource(source: DataSource): Promise<DataConnection>;
    validateDatabaseConnection(source: DataSource | DataDestination): Promise<void>;
    validateFileAccess(source: DataSource): Promise<void>;
    validateFileWriteAccess(destination: DataDestination): Promise<void>;
    validateAPIEndpoint(source: DataSource | DataDestination): Promise<void>;
    validateS3Access(source: DataSource): Promise<void>;
    validateS3WriteAccess(destination: DataDestination): Promise<void>;
    private connectToDatabase;
    private connectToFile;
    private connectToAPI;
    private connectToS3;
}
export declare abstract class ComplianceEngine {
    abstract validateOperation(_request: ExportRequest, _operation: "export" | "import"): Promise<void>;
    abstract generateComplianceResult(_request: ExportRequest): Promise<ComplianceResult>;
}
export declare class GDPRComplianceEngine extends ComplianceEngine {
    private config;
    constructor(config: GDPRConfig);
    validateOperation(request: ExportRequest, _operation: "export" | "import"): Promise<void>;
    generateComplianceResult(_request: ExportRequest): Promise<ComplianceResult>;
}
export declare class HIPAAComplianceEngine extends ComplianceEngine {
    private config;
    constructor(config: HIPAAConfig);
    validateOperation(request: ExportRequest, _operation: "export" | "import"): Promise<void>;
    generateComplianceResult(_request: ExportRequest): Promise<ComplianceResult>;
}
export declare class SOXComplianceEngine extends ComplianceEngine {
    private config;
    constructor(config: SOXConfig);
    validateOperation(request: ExportRequest, _operation: "export" | "import"): Promise<void>;
    generateComplianceResult(_request: ExportRequest): Promise<ComplianceResult>;
}
export declare class ValidationEngine {
    private readonly _config;
    constructor(_config: ValidationConfig);
    validateQuality(_data: unknown[]): Promise<QualityValidationResult>;
    validateSchema(_data: unknown[], format: SupportedFormat): Promise<SchemaValidationResult>;
}
export declare class EncryptionService {
    private readonly config;
    constructor(config: PorterEncryptionConfig);
    encrypt(data: unknown): Promise<string>;
    decrypt(encryptedData: unknown): Promise<string>;
}
export declare function createDefaultFormatHandlers(encryptionService: EncryptionService): Map<SupportedFormat, FormatHandler>;
export declare function createDefaultComplianceEngines(compliance: DataPorterConfig["compliance"]): Map<string, ComplianceEngine>;
