import { FormInstanceStatus } from '@prisma/client';
export declare class CreateFormInstanceDto {
    formIdentifier: string;
    version?: number;
    data: Record<string, any>;
}
export declare class UpdateFormInstanceDto {
    data: Record<string, any>;
}
export declare class SubmitFormInstanceDto {
    data: Record<string, any>;
    submitForApproval?: boolean;
    comment?: string;
}
export declare class QueryMyFormInstancesDto {
    formKey?: string;
    status?: FormInstanceStatus;
    startDate?: string;
    endDate?: string;
    page?: number;
    limit?: number;
}
export declare class QueryAllFormInstancesDto {
    formKey?: string;
    status?: FormInstanceStatus;
    createdBy?: string;
    startDate?: string;
    endDate?: string;
    includeDeleted?: boolean;
    page?: number;
    limit?: number;
}
export declare class BatchUpdateStatusDto {
    instanceIds: string[];
    status: FormInstanceStatus;
    comment?: string;
}
export declare class ExportFormInstancesDto {
    formKey: string;
    format?: 'excel' | 'csv';
    startDate?: string;
    endDate?: string;
    status?: FormInstanceStatus;
}
export declare class GetFormInstanceStatsDto {
    formKey: string;
    groupBy?: 'day' | 'week' | 'month' | 'user';
    startDate?: string;
    endDate?: string;
}
export declare class CancelFormInstanceDto {
    reason: string;
}
