import { FormStatus } from '@prisma/client';
export declare class CreateFormDefinitionDto {
    key?: string;
    slug: string;
    nameI18n: Record<string, string>;
    descriptionI18n?: Record<string, string>;
    category: string;
    icon?: string;
    color?: string;
    defaultLocale: string;
    supportedLocales: string[];
    schema: any;
    uiSchema?: any;
    validation?: any;
    translations?: Record<string, Record<string, string>>;
    requiresApproval: boolean;
    approvalProcessKey?: string;
    aliases?: string[];
}
export declare class UpdateFormDefinitionDto {
    slug?: string;
    nameI18n?: Record<string, string>;
    descriptionI18n?: Record<string, string>;
    category?: string;
    icon?: string;
    color?: string;
    defaultLocale?: string;
    supportedLocales?: string[];
    requiresApproval?: boolean;
    approvalProcessKey?: string;
    aliases?: string[];
    slugHistory?: string[];
}
export declare class QueryFormDefinitionDto {
    category?: string;
    status?: FormStatus;
    requiresApproval?: boolean;
    search?: string;
    page?: number;
    limit?: number;
}
export declare class CreateFormVersionDto {
    schema: any;
    uiSchema?: any;
    validation?: any;
    nameI18n: Record<string, string>;
    descriptionI18n?: Record<string, string>;
    translations?: Record<string, Record<string, string>>;
    changelog?: string;
    setAsDefault?: boolean;
}
export declare class UpdateFormVersionDto {
    schema?: any;
    uiSchema?: any;
    validation?: any;
    nameI18n?: Record<string, string>;
    descriptionI18n?: Record<string, string>;
    changelog?: string;
}
export declare class PublishFormVersionDto {
    setAsDefault?: boolean;
}
export declare class PublishFormDefinitionDto {
    publishVersion?: number;
}
export declare class ArchiveFormDefinitionDto {
    reason?: string;
}
export declare class SetDefaultVersionDto {
    version: number;
}
export declare class CopyFormDefinitionDto {
    newSlug: string;
    newName: Record<string, string>;
    copyAllVersions?: boolean;
}
