export interface WorkflowStep {
    name: string;
    assigneeRole?: string;
    assigneeId?: string;
    autoTransition?: boolean;
    condition?: (doc: Record<string, unknown>) => boolean;
    onEnter?: (doc: Record<string, unknown>) => Promise<void>;
    onExit?: (doc: Record<string, unknown>) => Promise<void>;
}
export interface WorkflowDefinition {
    id: string;
    name: string;
    collection: string;
    steps: WorkflowStep[];
    initialStep: number;
    finalStep: number;
}
export interface WorkflowInstance {
    documentId: string;
    currentStep: number;
    status: 'pending' | 'in_progress' | 'approved' | 'rejected' | 'completed';
    assignedToId?: string;
}
/** Advance a workflow to its next step. */
export declare function advanceWorkflow(_documentId: string, _definition: WorkflowDefinition, _db: unknown): Promise<WorkflowInstance>;
/** Reject the current workflow step, optionally reverting to a previous step. */
export declare function rejectWorkflowStep(_documentId: string, _revertToStep: number, _reason: string, _db: unknown): Promise<WorkflowInstance>;
/** Get the current workflow state for a document. */
export declare function getWorkflowState(_documentId: string, _db: unknown): Promise<WorkflowInstance | null>;
//# sourceMappingURL=index.d.ts.map