export declare class AttachmentDto {
    id: string;
    name: string;
    url: string;
    size: number;
    mimeType: string;
}
export declare class StartApprovalDto {
    processDefinitionKey: string;
    businessType: string;
    businessId: string;
    variables?: Record<string, any>;
    title?: string;
    priority?: number;
    dueDate?: string;
    version?: number;
    callbackUrl?: string;
    idempotencyKey?: string;
}
export declare class ApproveDto {
    taskId: string;
    comment?: string;
    formData?: Record<string, any>;
    attachments?: AttachmentDto[];
}
export declare class RejectDto {
    taskId: string;
    comment: string;
    rejectCode?: string;
    attachments?: AttachmentDto[];
}
export declare class ReturnDto {
    taskId: string;
    targetNodeId: string;
    comment: string;
}
export declare class ForwardDto {
    taskId: string;
    toUserId: string;
    comment?: string;
}
export declare class WithdrawDto {
    reason?: string;
}
export declare class ApproverWithdrawDto {
    taskId: string;
    reason: string;
}
export declare class AddSignDto {
    taskId: string;
    userIds: string[];
    type: 'BEFORE' | 'AFTER' | 'PARALLEL';
    comment?: string;
}
export declare class ClaimDto {
    taskId: string;
}
export declare class UnclaimDto {
    taskId: string;
}
export declare class ExecuteDto {
    taskId: string;
    formData: Record<string, any>;
    comment?: string;
    attachments?: AttachmentDto[];
}
export declare class PendingTasksQueryDto {
    businessType?: string;
    status?: 'PENDING' | 'CLAIMED';
    priority?: number;
    isOverdue?: boolean;
    isDelegated?: boolean;
    sortBy?: 'createTime' | 'dueDate' | 'priority' | 'lastReminderTime' | 'remainingHours';
    sortOrder?: 'asc' | 'desc';
    page?: number;
    limit?: number;
}
export declare class InitiatedQueryDto {
    businessType?: string;
    status?: string;
    startTimeFrom?: string;
    startTimeTo?: string;
    page?: number;
    limit?: number;
}
export declare class AdminAnalyticsQueryDto {
    formKey?: string;
    formDefinitionId?: string;
    businessType?: string;
    approvalRequired?: boolean;
    status?: string;
    timeFrom?: string;
    timeTo?: string;
    submitterId?: string;
    organizationId?: string;
    departmentId?: string;
    keyword?: string;
}
export declare class AdminInstancesQueryDto extends AdminAnalyticsQueryDto {
    page?: number;
    limit?: number;
}
export declare class AdminInstancesExportDto extends AdminAnalyticsQueryDto {
    format?: 'xlsx' | 'csv';
}
export declare class AdminSettingsDto {
    exportRetentionDays: number;
}
export declare class ProcessedQueryDto {
    businessType?: string;
    action?: string;
    actionTimeFrom?: string;
    actionTimeTo?: string;
    page?: number;
    limit?: number;
}
export declare class CcQueryDto {
    businessType?: string;
    isRead?: boolean;
    page?: number;
    limit?: number;
}
export declare class ProcessSearchDto {
    keyword?: string;
    businessType?: string;
    status?: string;
    initiatorId?: string;
    startTimeFrom?: string;
    startTimeTo?: string;
    page?: number;
    limit?: number;
}
export declare class RemindDto {
    taskId: string;
    message?: string;
}
export declare class BatchRemindDto {
    taskIds: string[];
    message?: string;
}
export declare class CreateDefinitionDto {
    key: string;
    name: string;
    category?: string;
    description?: string;
    organizationId?: string;
}
export declare class UpdateDefinitionDto {
    name?: string;
    description?: string;
    status?: string;
}
export declare class DefinitionsQueryDto {
    page?: number;
    limit?: number;
    category?: string;
    status?: string;
    keyword?: string;
    sortBy?: string;
    sortOrder?: 'asc' | 'desc';
}
export declare class CreateVersionDto {
    name: string;
    processModel: Record<string, any>;
    settings?: Record<string, any>;
    changeLog?: string;
}
export declare class UpdateVersionDto {
    name?: string;
    processModel?: Record<string, any>;
    settings?: Record<string, any>;
    changeLog?: string;
}
export declare class DeployVersionDto {
    setAsDefault?: boolean;
}
export declare class AdminTerminateDto {
    reason: string;
    attachments?: AttachmentDto[];
}
export declare class AdminResumeWithApproversDto {
    approverIds: string[];
    reason: string;
}
export declare class AdminApproveDto {
    taskId: string;
    comment: string;
    reason: string;
    attachments?: AttachmentDto[];
}
export declare class AdminRejectDto {
    taskId: string;
    comment: string;
    reason: string;
    rejectCode?: string;
    attachments?: AttachmentDto[];
}
export declare class AdminReassignDto {
    taskId: string;
    newAssigneeId: string;
    reason: string;
}
export declare class AuditLogsQueryDto {
    instanceId?: string;
    operatorId?: string;
    action?: string;
    riskLevel?: string;
    businessType?: string;
    businessId?: string;
    timeFrom?: string;
    timeTo?: string;
    sortBy?: 'actionTime' | 'riskLevel';
    sortOrder?: 'asc' | 'desc';
    page?: number;
    limit?: number;
}
export declare class QueryApprovalDto {
    businessType?: string;
    status?: string;
    page?: number;
    limit?: number;
}
export declare class AddApproverDto {
    taskId: string;
    addUserId: string;
    position: 'before' | 'after';
    comment?: string;
}
