import { z } from 'zod';

/**
 * Data Export & Import Protocol
 *
 * Defines schemas for streaming data export, import validation,
 * template-based field mapping, and scheduled export jobs.
 *
 * Industry alignment: Salesforce Data Export, Airtable CSV Export,
 * Dynamics 365 Data Management.
 *
 * Base path: /api/v1/data/{object}/export
 */
/**
 * Export Format Enum
 * Supported file formats for data export.
 */
declare const ExportFormat: z.ZodEnum<{
    json: "json";
    csv: "csv";
    xlsx: "xlsx";
    jsonl: "jsonl";
    parquet: "parquet";
}>;
type ExportFormat = z.infer<typeof ExportFormat>;
/**
 * Export Job Status
 */
declare const ExportJobStatus: z.ZodEnum<{
    completed: "completed";
    failed: "failed";
    cancelled: "cancelled";
    pending: "pending";
    expired: "expired";
    processing: "processing";
}>;
type ExportJobStatus = z.infer<typeof ExportJobStatus>;
/**
 * Create Export Job Request
 * Initiates an asynchronous streaming export.
 *
 * @example POST /api/v1/data/account/export
 * { format: 'csv', fields: ['name', 'email', 'status'], filter: { status: 'active' }, limit: 10000 }
 */
declare const CreateExportJobRequestSchema: z.ZodObject<{
    object: z.ZodString;
    format: z.ZodDefault<z.ZodEnum<{
        json: "json";
        csv: "csv";
        xlsx: "xlsx";
        jsonl: "jsonl";
        parquet: "parquet";
    }>>;
    fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    sort: z.ZodOptional<z.ZodArray<z.ZodObject<{
        field: z.ZodString;
        direction: z.ZodDefault<z.ZodEnum<{
            asc: "asc";
            desc: "desc";
        }>>;
    }, z.core.$strip>>>;
    limit: z.ZodOptional<z.ZodNumber>;
    includeHeaders: z.ZodDefault<z.ZodBoolean>;
    encoding: z.ZodDefault<z.ZodString>;
    templateId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type CreateExportJobRequest = z.infer<typeof CreateExportJobRequestSchema>;
/**
 * Export Job Response
 * Returns the created export job with tracking info.
 */
declare const CreateExportJobResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    error: z.ZodOptional<z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        category: z.ZodOptional<z.ZodString>;
        details: z.ZodOptional<z.ZodUnknown>;
        requestId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        duration: z.ZodOptional<z.ZodNumber>;
        requestId: z.ZodOptional<z.ZodString>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    data: z.ZodObject<{
        jobId: z.ZodString;
        status: z.ZodEnum<{
            completed: "completed";
            failed: "failed";
            cancelled: "cancelled";
            pending: "pending";
            expired: "expired";
            processing: "processing";
        }>;
        estimatedRecords: z.ZodOptional<z.ZodNumber>;
        createdAt: z.ZodString;
    }, z.core.$strip>;
}, z.core.$strip>;
type CreateExportJobResponse = z.infer<typeof CreateExportJobResponseSchema>;
/**
 * Export Job Progress
 * Tracks the progress of an active export job.
 *
 * @example GET /api/v1/data/export/:jobId
 */
declare const ExportJobProgressSchema: z.ZodObject<{
    success: z.ZodBoolean;
    error: z.ZodOptional<z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        category: z.ZodOptional<z.ZodString>;
        details: z.ZodOptional<z.ZodUnknown>;
        requestId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        duration: z.ZodOptional<z.ZodNumber>;
        requestId: z.ZodOptional<z.ZodString>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    data: z.ZodObject<{
        jobId: z.ZodString;
        status: z.ZodEnum<{
            completed: "completed";
            failed: "failed";
            cancelled: "cancelled";
            pending: "pending";
            expired: "expired";
            processing: "processing";
        }>;
        format: z.ZodEnum<{
            json: "json";
            csv: "csv";
            xlsx: "xlsx";
            jsonl: "jsonl";
            parquet: "parquet";
        }>;
        totalRecords: z.ZodOptional<z.ZodNumber>;
        processedRecords: z.ZodNumber;
        percentComplete: z.ZodNumber;
        fileSize: z.ZodOptional<z.ZodNumber>;
        downloadUrl: z.ZodOptional<z.ZodString>;
        downloadExpiresAt: z.ZodOptional<z.ZodString>;
        error: z.ZodOptional<z.ZodObject<{
            code: z.ZodString;
            message: z.ZodString;
        }, z.core.$strip>>;
        startedAt: z.ZodOptional<z.ZodString>;
        completedAt: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>;
type ExportJobProgress = z.infer<typeof ExportJobProgressSchema>;
/**
 * Import Validation Mode
 */
declare const ImportValidationMode: z.ZodEnum<{
    strict: "strict";
    lenient: "lenient";
    dry_run: "dry_run";
}>;
type ImportValidationMode = z.infer<typeof ImportValidationMode>;
/**
 * Deduplication Strategy
 * How to handle duplicate records during import.
 */
declare const DeduplicationStrategy: z.ZodEnum<{
    update: "update";
    skip: "skip";
    fail: "fail";
    create_new: "create_new";
}>;
type DeduplicationStrategy = z.infer<typeof DeduplicationStrategy>;
/**
 * Import Validation Config Schema
 * Configuration for validating and deduplicating imported data.
 *
 * @example
 * {
 *   mode: 'lenient',
 *   deduplication: { strategy: 'update', matchFields: ['email', 'external_id'] },
 *   maxErrors: 50,
 *   trimWhitespace: true,
 * }
 */
declare const ImportValidationConfigSchema: z.ZodObject<{
    mode: z.ZodDefault<z.ZodEnum<{
        strict: "strict";
        lenient: "lenient";
        dry_run: "dry_run";
    }>>;
    deduplication: z.ZodOptional<z.ZodObject<{
        strategy: z.ZodDefault<z.ZodEnum<{
            update: "update";
            skip: "skip";
            fail: "fail";
            create_new: "create_new";
        }>>;
        matchFields: z.ZodArray<z.ZodString>;
    }, z.core.$strip>>;
    maxErrors: z.ZodDefault<z.ZodNumber>;
    trimWhitespace: z.ZodDefault<z.ZodBoolean>;
    dateFormat: z.ZodOptional<z.ZodString>;
    nullValues: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
type ImportValidationConfig = z.infer<typeof ImportValidationConfigSchema>;
/**
 * Import Validation Result Schema
 * Summary of the import validation pass.
 */
declare const ImportValidationResultSchema: z.ZodObject<{
    success: z.ZodBoolean;
    error: z.ZodOptional<z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        category: z.ZodOptional<z.ZodString>;
        details: z.ZodOptional<z.ZodUnknown>;
        requestId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        duration: z.ZodOptional<z.ZodNumber>;
        requestId: z.ZodOptional<z.ZodString>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    data: z.ZodObject<{
        totalRecords: z.ZodNumber;
        validRecords: z.ZodNumber;
        invalidRecords: z.ZodNumber;
        duplicateRecords: z.ZodNumber;
        errors: z.ZodArray<z.ZodObject<{
            row: z.ZodNumber;
            field: z.ZodOptional<z.ZodString>;
            code: z.ZodString;
            message: z.ZodString;
        }, z.core.$strip>>;
        preview: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
    }, z.core.$strip>;
}, z.core.$strip>;
type ImportValidationResult = z.infer<typeof ImportValidationResultSchema>;
/**
 * Field Mapping Entry Schema
 * Maps a source field to a target field with optional transformation.
 */
declare const FieldMappingEntrySchema: z.ZodObject<{
    sourceField: z.ZodString;
    targetField: z.ZodString;
    targetLabel: z.ZodOptional<z.ZodString>;
    transform: z.ZodDefault<z.ZodEnum<{
        lookup: "lookup";
        trim: "trim";
        lowercase: "lowercase";
        uppercase: "uppercase";
        none: "none";
        date_format: "date_format";
    }>>;
    defaultValue: z.ZodOptional<z.ZodUnknown>;
    required: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
type FieldMappingEntry = z.infer<typeof FieldMappingEntrySchema>;
/**
 * Export/Import Template Schema
 * Reusable template for predefined field mappings.
 *
 * @example
 * {
 *   name: 'account_export_v1',
 *   label: 'Account Export (Standard)',
 *   object: 'account',
 *   direction: 'export',
 *   mappings: [
 *     { sourceField: 'name', targetField: 'Company Name' },
 *     { sourceField: 'email', targetField: 'Email', transform: 'lowercase' },
 *   ],
 * }
 */
declare const ExportImportTemplateSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    object: z.ZodString;
    direction: z.ZodEnum<{
        import: "import";
        export: "export";
        bidirectional: "bidirectional";
    }>;
    format: z.ZodOptional<z.ZodEnum<{
        json: "json";
        csv: "csv";
        xlsx: "xlsx";
        jsonl: "jsonl";
        parquet: "parquet";
    }>>;
    mappings: z.ZodArray<z.ZodObject<{
        sourceField: z.ZodString;
        targetField: z.ZodString;
        targetLabel: z.ZodOptional<z.ZodString>;
        transform: z.ZodDefault<z.ZodEnum<{
            lookup: "lookup";
            trim: "trim";
            lowercase: "lowercase";
            uppercase: "uppercase";
            none: "none";
            date_format: "date_format";
        }>>;
        defaultValue: z.ZodOptional<z.ZodUnknown>;
        required: z.ZodDefault<z.ZodBoolean>;
    }, z.core.$strip>>;
    createdAt: z.ZodOptional<z.ZodString>;
    updatedAt: z.ZodOptional<z.ZodString>;
    createdBy: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type ExportImportTemplate = z.infer<typeof ExportImportTemplateSchema>;
/**
 * Scheduled Export Schema
 * Defines a recurring data export job.
 *
 * @example
 * {
 *   name: 'weekly_account_export',
 *   object: 'account',
 *   format: 'csv',
 *   schedule: { cronExpression: '0 6 * * MON', timezone: 'America/New_York' },
 *   delivery: { method: 'email', recipients: ['admin@example.com'] },
 * }
 */
declare const ScheduledExportSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    object: z.ZodString;
    format: z.ZodDefault<z.ZodEnum<{
        json: "json";
        csv: "csv";
        xlsx: "xlsx";
        jsonl: "jsonl";
        parquet: "parquet";
    }>>;
    fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    templateId: z.ZodOptional<z.ZodString>;
    schedule: z.ZodObject<{
        cronExpression: z.ZodString;
        timezone: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>;
    delivery: z.ZodObject<{
        method: z.ZodEnum<{
            email: "email";
            webhook: "webhook";
            storage: "storage";
        }>;
        recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
        storagePath: z.ZodOptional<z.ZodString>;
        webhookUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    enabled: z.ZodDefault<z.ZodBoolean>;
    lastRunAt: z.ZodOptional<z.ZodString>;
    nextRunAt: z.ZodOptional<z.ZodString>;
    createdAt: z.ZodOptional<z.ZodString>;
    createdBy: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type ScheduledExport = z.infer<typeof ScheduledExportSchema>;
/**
 * Get Export Job Download Request
 * Retrieves a presigned download link for a completed export job.
 *
 * @example GET /api/v1/data/export/:jobId/download
 */
declare const GetExportJobDownloadRequestSchema: z.ZodObject<{
    jobId: z.ZodString;
}, z.core.$strip>;
type GetExportJobDownloadRequest = z.infer<typeof GetExportJobDownloadRequestSchema>;
/**
 * Get Export Job Download Response
 * Returns the presigned download URL and metadata.
 */
declare const GetExportJobDownloadResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    error: z.ZodOptional<z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        category: z.ZodOptional<z.ZodString>;
        details: z.ZodOptional<z.ZodUnknown>;
        requestId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        duration: z.ZodOptional<z.ZodNumber>;
        requestId: z.ZodOptional<z.ZodString>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    data: z.ZodObject<{
        jobId: z.ZodString;
        downloadUrl: z.ZodString;
        fileName: z.ZodString;
        fileSize: z.ZodNumber;
        format: z.ZodEnum<{
            json: "json";
            csv: "csv";
            xlsx: "xlsx";
            jsonl: "jsonl";
            parquet: "parquet";
        }>;
        expiresAt: z.ZodString;
        checksum: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>;
type GetExportJobDownloadResponse = z.infer<typeof GetExportJobDownloadResponseSchema>;
/**
 * List Export Jobs Request
 * Retrieves a paginated list of historical export jobs.
 *
 * @example GET /api/v1/data/export?object=account&status=completed&limit=20
 */
declare const ListExportJobsRequestSchema: z.ZodObject<{
    object: z.ZodOptional<z.ZodString>;
    status: z.ZodOptional<z.ZodEnum<{
        completed: "completed";
        failed: "failed";
        cancelled: "cancelled";
        pending: "pending";
        expired: "expired";
        processing: "processing";
    }>>;
    limit: z.ZodDefault<z.ZodNumber>;
    cursor: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type ListExportJobsRequest = z.infer<typeof ListExportJobsRequestSchema>;
/**
 * Export Job Summary
 * Compact representation of an export job for list views.
 */
declare const ExportJobSummarySchema: z.ZodObject<{
    jobId: z.ZodString;
    object: z.ZodString;
    status: z.ZodEnum<{
        completed: "completed";
        failed: "failed";
        cancelled: "cancelled";
        pending: "pending";
        expired: "expired";
        processing: "processing";
    }>;
    format: z.ZodEnum<{
        json: "json";
        csv: "csv";
        xlsx: "xlsx";
        jsonl: "jsonl";
        parquet: "parquet";
    }>;
    totalRecords: z.ZodOptional<z.ZodNumber>;
    fileSize: z.ZodOptional<z.ZodNumber>;
    createdAt: z.ZodString;
    completedAt: z.ZodOptional<z.ZodString>;
    createdBy: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
type ExportJobSummary = z.infer<typeof ExportJobSummarySchema>;
/**
 * List Export Jobs Response
 * Paginated list of export jobs with cursor-based pagination.
 */
declare const ListExportJobsResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    error: z.ZodOptional<z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        category: z.ZodOptional<z.ZodString>;
        details: z.ZodOptional<z.ZodUnknown>;
        requestId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        duration: z.ZodOptional<z.ZodNumber>;
        requestId: z.ZodOptional<z.ZodString>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    data: z.ZodObject<{
        jobs: z.ZodArray<z.ZodObject<{
            jobId: z.ZodString;
            object: z.ZodString;
            status: z.ZodEnum<{
                completed: "completed";
                failed: "failed";
                cancelled: "cancelled";
                pending: "pending";
                expired: "expired";
                processing: "processing";
            }>;
            format: z.ZodEnum<{
                json: "json";
                csv: "csv";
                xlsx: "xlsx";
                jsonl: "jsonl";
                parquet: "parquet";
            }>;
            totalRecords: z.ZodOptional<z.ZodNumber>;
            fileSize: z.ZodOptional<z.ZodNumber>;
            createdAt: z.ZodString;
            completedAt: z.ZodOptional<z.ZodString>;
            createdBy: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        nextCursor: z.ZodOptional<z.ZodString>;
        hasMore: z.ZodBoolean;
    }, z.core.$strip>;
}, z.core.$strip>;
type ListExportJobsResponse = z.infer<typeof ListExportJobsResponseSchema>;
/**
 * Schedule Export Request
 * Creates a new scheduled (recurring) export job.
 *
 * @example POST /api/v1/data/export/schedules
 */
declare const ScheduleExportRequestSchema: z.ZodObject<{
    name: z.ZodString;
    label: z.ZodOptional<z.ZodString>;
    object: z.ZodString;
    format: z.ZodDefault<z.ZodEnum<{
        json: "json";
        csv: "csv";
        xlsx: "xlsx";
        jsonl: "jsonl";
        parquet: "parquet";
    }>>;
    fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
    filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    templateId: z.ZodOptional<z.ZodString>;
    schedule: z.ZodObject<{
        cronExpression: z.ZodString;
        timezone: z.ZodDefault<z.ZodString>;
    }, z.core.$strip>;
    delivery: z.ZodObject<{
        method: z.ZodEnum<{
            email: "email";
            webhook: "webhook";
            storage: "storage";
        }>;
        recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
        storagePath: z.ZodOptional<z.ZodString>;
        webhookUrl: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
}, z.core.$strip>;
type ScheduleExportRequest = z.infer<typeof ScheduleExportRequestSchema>;
/**
 * Schedule Export Response
 * Returns the created scheduled export with generated ID and next run info.
 */
declare const ScheduleExportResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    error: z.ZodOptional<z.ZodObject<{
        code: z.ZodString;
        message: z.ZodString;
        category: z.ZodOptional<z.ZodString>;
        details: z.ZodOptional<z.ZodUnknown>;
        requestId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    meta: z.ZodOptional<z.ZodObject<{
        timestamp: z.ZodString;
        duration: z.ZodOptional<z.ZodNumber>;
        requestId: z.ZodOptional<z.ZodString>;
        traceId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    data: z.ZodObject<{
        id: z.ZodString;
        name: z.ZodString;
        enabled: z.ZodBoolean;
        nextRunAt: z.ZodOptional<z.ZodString>;
        createdAt: z.ZodString;
    }, z.core.$strip>;
}, z.core.$strip>;
type ScheduleExportResponse = z.infer<typeof ScheduleExportResponseSchema>;
/**
 * Export API Contract Registry
 * Used for generating SDKs, documentation, and route registration.
 */
declare const ExportApiContracts: {
    createExportJob: {
        method: "POST";
        path: string;
        input: z.ZodObject<{
            object: z.ZodString;
            format: z.ZodDefault<z.ZodEnum<{
                json: "json";
                csv: "csv";
                xlsx: "xlsx";
                jsonl: "jsonl";
                parquet: "parquet";
            }>>;
            fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
            filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            sort: z.ZodOptional<z.ZodArray<z.ZodObject<{
                field: z.ZodString;
                direction: z.ZodDefault<z.ZodEnum<{
                    asc: "asc";
                    desc: "desc";
                }>>;
            }, z.core.$strip>>>;
            limit: z.ZodOptional<z.ZodNumber>;
            includeHeaders: z.ZodDefault<z.ZodBoolean>;
            encoding: z.ZodDefault<z.ZodString>;
            templateId: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
        output: z.ZodObject<{
            success: z.ZodBoolean;
            error: z.ZodOptional<z.ZodObject<{
                code: z.ZodString;
                message: z.ZodString;
                category: z.ZodOptional<z.ZodString>;
                details: z.ZodOptional<z.ZodUnknown>;
                requestId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            meta: z.ZodOptional<z.ZodObject<{
                timestamp: z.ZodString;
                duration: z.ZodOptional<z.ZodNumber>;
                requestId: z.ZodOptional<z.ZodString>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            data: z.ZodObject<{
                jobId: z.ZodString;
                status: z.ZodEnum<{
                    completed: "completed";
                    failed: "failed";
                    cancelled: "cancelled";
                    pending: "pending";
                    expired: "expired";
                    processing: "processing";
                }>;
                estimatedRecords: z.ZodOptional<z.ZodNumber>;
                createdAt: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>;
    };
    getExportJobProgress: {
        method: "GET";
        path: string;
        input: z.ZodObject<{
            jobId: z.ZodString;
        }, z.core.$strip>;
        output: z.ZodObject<{
            success: z.ZodBoolean;
            error: z.ZodOptional<z.ZodObject<{
                code: z.ZodString;
                message: z.ZodString;
                category: z.ZodOptional<z.ZodString>;
                details: z.ZodOptional<z.ZodUnknown>;
                requestId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            meta: z.ZodOptional<z.ZodObject<{
                timestamp: z.ZodString;
                duration: z.ZodOptional<z.ZodNumber>;
                requestId: z.ZodOptional<z.ZodString>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            data: z.ZodObject<{
                jobId: z.ZodString;
                status: z.ZodEnum<{
                    completed: "completed";
                    failed: "failed";
                    cancelled: "cancelled";
                    pending: "pending";
                    expired: "expired";
                    processing: "processing";
                }>;
                format: z.ZodEnum<{
                    json: "json";
                    csv: "csv";
                    xlsx: "xlsx";
                    jsonl: "jsonl";
                    parquet: "parquet";
                }>;
                totalRecords: z.ZodOptional<z.ZodNumber>;
                processedRecords: z.ZodNumber;
                percentComplete: z.ZodNumber;
                fileSize: z.ZodOptional<z.ZodNumber>;
                downloadUrl: z.ZodOptional<z.ZodString>;
                downloadExpiresAt: z.ZodOptional<z.ZodString>;
                error: z.ZodOptional<z.ZodObject<{
                    code: z.ZodString;
                    message: z.ZodString;
                }, z.core.$strip>>;
                startedAt: z.ZodOptional<z.ZodString>;
                completedAt: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>;
        }, z.core.$strip>;
    };
    getExportJobDownload: {
        method: "GET";
        path: string;
        input: z.ZodObject<{
            jobId: z.ZodString;
        }, z.core.$strip>;
        output: z.ZodObject<{
            success: z.ZodBoolean;
            error: z.ZodOptional<z.ZodObject<{
                code: z.ZodString;
                message: z.ZodString;
                category: z.ZodOptional<z.ZodString>;
                details: z.ZodOptional<z.ZodUnknown>;
                requestId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            meta: z.ZodOptional<z.ZodObject<{
                timestamp: z.ZodString;
                duration: z.ZodOptional<z.ZodNumber>;
                requestId: z.ZodOptional<z.ZodString>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            data: z.ZodObject<{
                jobId: z.ZodString;
                downloadUrl: z.ZodString;
                fileName: z.ZodString;
                fileSize: z.ZodNumber;
                format: z.ZodEnum<{
                    json: "json";
                    csv: "csv";
                    xlsx: "xlsx";
                    jsonl: "jsonl";
                    parquet: "parquet";
                }>;
                expiresAt: z.ZodString;
                checksum: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>;
        }, z.core.$strip>;
    };
    listExportJobs: {
        method: "GET";
        path: string;
        input: z.ZodObject<{
            object: z.ZodOptional<z.ZodString>;
            status: z.ZodOptional<z.ZodEnum<{
                completed: "completed";
                failed: "failed";
                cancelled: "cancelled";
                pending: "pending";
                expired: "expired";
                processing: "processing";
            }>>;
            limit: z.ZodDefault<z.ZodNumber>;
            cursor: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
        output: z.ZodObject<{
            success: z.ZodBoolean;
            error: z.ZodOptional<z.ZodObject<{
                code: z.ZodString;
                message: z.ZodString;
                category: z.ZodOptional<z.ZodString>;
                details: z.ZodOptional<z.ZodUnknown>;
                requestId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            meta: z.ZodOptional<z.ZodObject<{
                timestamp: z.ZodString;
                duration: z.ZodOptional<z.ZodNumber>;
                requestId: z.ZodOptional<z.ZodString>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            data: z.ZodObject<{
                jobs: z.ZodArray<z.ZodObject<{
                    jobId: z.ZodString;
                    object: z.ZodString;
                    status: z.ZodEnum<{
                        completed: "completed";
                        failed: "failed";
                        cancelled: "cancelled";
                        pending: "pending";
                        expired: "expired";
                        processing: "processing";
                    }>;
                    format: z.ZodEnum<{
                        json: "json";
                        csv: "csv";
                        xlsx: "xlsx";
                        jsonl: "jsonl";
                        parquet: "parquet";
                    }>;
                    totalRecords: z.ZodOptional<z.ZodNumber>;
                    fileSize: z.ZodOptional<z.ZodNumber>;
                    createdAt: z.ZodString;
                    completedAt: z.ZodOptional<z.ZodString>;
                    createdBy: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>;
                nextCursor: z.ZodOptional<z.ZodString>;
                hasMore: z.ZodBoolean;
            }, z.core.$strip>;
        }, z.core.$strip>;
    };
    scheduleExport: {
        method: "POST";
        path: string;
        input: z.ZodObject<{
            name: z.ZodString;
            label: z.ZodOptional<z.ZodString>;
            object: z.ZodString;
            format: z.ZodDefault<z.ZodEnum<{
                json: "json";
                csv: "csv";
                xlsx: "xlsx";
                jsonl: "jsonl";
                parquet: "parquet";
            }>>;
            fields: z.ZodOptional<z.ZodArray<z.ZodString>>;
            filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            templateId: z.ZodOptional<z.ZodString>;
            schedule: z.ZodObject<{
                cronExpression: z.ZodString;
                timezone: z.ZodDefault<z.ZodString>;
            }, z.core.$strip>;
            delivery: z.ZodObject<{
                method: z.ZodEnum<{
                    email: "email";
                    webhook: "webhook";
                    storage: "storage";
                }>;
                recipients: z.ZodOptional<z.ZodArray<z.ZodString>>;
                storagePath: z.ZodOptional<z.ZodString>;
                webhookUrl: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>;
        }, z.core.$strip>;
        output: z.ZodObject<{
            success: z.ZodBoolean;
            error: z.ZodOptional<z.ZodObject<{
                code: z.ZodString;
                message: z.ZodString;
                category: z.ZodOptional<z.ZodString>;
                details: z.ZodOptional<z.ZodUnknown>;
                requestId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            meta: z.ZodOptional<z.ZodObject<{
                timestamp: z.ZodString;
                duration: z.ZodOptional<z.ZodNumber>;
                requestId: z.ZodOptional<z.ZodString>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            data: z.ZodObject<{
                id: z.ZodString;
                name: z.ZodString;
                enabled: z.ZodBoolean;
                nextRunAt: z.ZodOptional<z.ZodString>;
                createdAt: z.ZodString;
            }, z.core.$strip>;
        }, z.core.$strip>;
    };
    cancelExportJob: {
        method: "POST";
        path: string;
        input: z.ZodObject<{
            jobId: z.ZodString;
        }, z.core.$strip>;
        output: z.ZodObject<{
            success: z.ZodBoolean;
            error: z.ZodOptional<z.ZodObject<{
                code: z.ZodString;
                message: z.ZodString;
                category: z.ZodOptional<z.ZodString>;
                details: z.ZodOptional<z.ZodUnknown>;
                requestId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            meta: z.ZodOptional<z.ZodObject<{
                timestamp: z.ZodString;
                duration: z.ZodOptional<z.ZodNumber>;
                requestId: z.ZodOptional<z.ZodString>;
                traceId: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
        }, z.core.$strip>;
    };
};

export { ScheduledExportSchema as A, type CreateExportJobRequest as C, DeduplicationStrategy as D, ExportApiContracts as E, type FieldMappingEntry as F, type GetExportJobDownloadRequest as G, type ImportValidationConfig as I, type ListExportJobsRequest as L, type ScheduleExportRequest as S, CreateExportJobRequestSchema as a, type CreateExportJobResponse as b, CreateExportJobResponseSchema as c, ExportFormat as d, type ExportImportTemplate as e, ExportImportTemplateSchema as f, type ExportJobProgress as g, ExportJobProgressSchema as h, ExportJobStatus as i, type ExportJobSummary as j, ExportJobSummarySchema as k, FieldMappingEntrySchema as l, GetExportJobDownloadRequestSchema as m, type GetExportJobDownloadResponse as n, GetExportJobDownloadResponseSchema as o, ImportValidationConfigSchema as p, ImportValidationMode as q, type ImportValidationResult as r, ImportValidationResultSchema as s, ListExportJobsRequestSchema as t, type ListExportJobsResponse as u, ListExportJobsResponseSchema as v, ScheduleExportRequestSchema as w, type ScheduleExportResponse as x, ScheduleExportResponseSchema as y, type ScheduledExport as z };
