import z from 'zod';
/**
 * Version order by configuration (shared)
 */
export declare const versionOrderBySchema: z.ZodObject<{
    field: z.ZodOptional<z.ZodEnum<{
        createdAt: "createdAt";
        versionNumber: "versionNumber";
    }>>;
    direction: z.ZodOptional<z.ZodEnum<{
        ASC: "ASC";
        DESC: "DESC";
    }>>;
}, z.core.$strip>;
/**
 * List versions query params (shared)
 */
export declare const listVersionsQuerySchema: z.ZodObject<{
    perPage: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
    page: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
    orderBy: z.ZodOptional<z.ZodObject<{
        field: z.ZodOptional<z.ZodEnum<{
            createdAt: "createdAt";
            versionNumber: "versionNumber";
        }>>;
        direction: z.ZodOptional<z.ZodEnum<{
            ASC: "ASC";
            DESC: "DESC";
        }>>;
    }, z.core.$strip>>;
}, z.core.$strip> | z.ZodObject<{
    perPage: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
    page: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
    orderBy: z.ZodOptional<z.ZodObject<{
        field: z.ZodOptional<z.ZodEnum<{
            createdAt: "createdAt";
            versionNumber: "versionNumber";
        }>>;
        direction: z.ZodOptional<z.ZodEnum<{
            ASC: "ASC";
            DESC: "DESC";
        }>>;
    }, z.core.$strip>>;
}, z.core.$strip>;
/**
 * Compare versions query params (shared)
 */
export declare const compareVersionsQuerySchema: z.ZodObject<{
    from: z.ZodString;
    to: z.ZodString;
}, z.core.$strip>;
/**
 * Create version body (shared)
 */
export declare const createVersionBodySchema: z.ZodObject<{
    changeMessage: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
 * Activate version response (shared)
 */
export declare const activateVersionResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    message: z.ZodString;
    activeVersionId: z.ZodString;
}, z.core.$strip>;
/**
 * Delete version response (shared)
 */
export declare const deleteVersionResponseSchema: z.ZodObject<{
    success: z.ZodBoolean;
    message: z.ZodString;
}, z.core.$strip>;
/**
 * Single diff entry for version comparison (shared)
 */
export declare const versionDiffEntrySchema: z.ZodObject<{
    field: z.ZodString;
    previousValue: z.ZodUnknown;
    currentValue: z.ZodUnknown;
}, z.core.$strip>;
/**
 * Helper to create a list versions response schema for a domain-specific version schema.
 */
export declare function createListVersionsResponseSchema<T extends z.ZodTypeAny>(versionSchema: T): z.ZodObject<{
    total: z.ZodNumber;
    page: z.ZodNumber;
    perPage: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<false>]>;
    hasMore: z.ZodBoolean;
    versions: z.ZodArray<T>;
}, z.core.$strip>;
/**
 * Helper to create a compare versions response schema for a domain-specific version schema.
 */
export declare function createCompareVersionsResponseSchema<T extends z.ZodTypeAny>(versionSchema: T): z.ZodObject<{
    diffs: z.ZodArray<z.ZodObject<{
        field: z.ZodString;
        previousValue: z.ZodUnknown;
        currentValue: z.ZodUnknown;
    }, z.core.$strip>>;
    fromVersion: T;
    toVersion: T;
}, z.core.$strip>;
//# sourceMappingURL=version-common.d.ts.map