import { type ControlRequestClaimDatabase, type ControlRequestClaimStatus } from './control-request.repository'; import { approvalResource, type ApprovalRow } from './approval.schema'; export type ApprovalClaimStatus = ControlRequestClaimStatus; export interface ApprovalClaimRequest { /** Full ApprovalRequest IRI. Subscribe/watch envelopes should pass as:object. */ approval: string; leaseOwner: string; leaseDurationMs?: number; now?: Date | string | number; } export interface ApprovalClaimResult { status: ApprovalClaimStatus; approval: ApprovalRow | null; leaseOwner: string; leaseExpiresAt: string; reason?: string; } export type ApprovalClaimDatabase = ControlRequestClaimDatabase; export declare function claimApprovalRequest(db: ApprovalClaimDatabase, input: ApprovalClaimRequest): Promise; export declare function isApprovalStatusClaimable(status: unknown): boolean;