export declare class CreateInstanceDto {
    formDefinitionId: string;
    formData: Record<string, any>;
    departmentId?: string;
}
export declare class FormInstanceResponse {
    id: string;
    snapshotId: string;
    formDefinitionId: string;
    formVersionId: string;
    regionId: string;
    status: string;
    formData: Record<string, any>;
}
export declare class ProcessInstanceResponse {
    id: string;
    processDefinitionId: string;
    processVersionId: string;
    status: string;
    currentNode: string;
}
export declare class CreateInstanceResponse {
    formInstance: FormInstanceResponse;
    processInstance: ProcessInstanceResponse;
    createdAt: string;
}
export declare class FieldAccess {
    editable: boolean;
    required: boolean;
    hidden: boolean;
}
export declare class FieldAccessResponse {
    instanceId: string;
    currentNodeId: string;
    currentNodeName: string;
    fieldAccess: Record<string, FieldAccess>;
}
export declare class UpdateInstanceDto {
    formData: Record<string, any>;
}
export declare class SubmitInstanceDto {
    comment?: string;
    attachments?: string[];
}
export declare class WithdrawInstanceDto {
    reason?: string;
}
export declare class WithdrawInstanceResponse {
    id: string;
    status: string;
    withdrawnAt: string;
    withdrawnBy: string;
    reason?: string;
    message: string;
}
export declare class QueryMyInstancesDto {
    page?: number;
    limit?: number;
    formDefinitionId?: string;
    status?: string;
}
export declare class PreviewProcessDto {
    formData: Record<string, any>;
    departmentId?: string;
    initiatorId?: string;
}
export declare class ApproverInfo {
    id: string;
    name: string;
    avatar?: string;
    type?: string;
}
export declare class ProcessNodeWithApprovers {
    id: string;
    type: string;
    name: string;
    approvers: ApproverInfo[];
    approvalMode?: string;
    config?: Record<string, any>;
}
export declare class PreviewProcessResponse {
    model: {
        nodes: ProcessNodeWithApprovers[];
        edges: any[];
    };
    initiator: {
        id: string;
        name: string;
        avatar?: string;
    };
}
