import { type ControlRequestClaimDatabase, type ControlRequestClaimStatus } from './control-request.repository'; import { inputRequestResource, type InputRequestRow, type InputRequestUpdate } from './input-request.schema'; export type InputRequestClaimStatus = ControlRequestClaimStatus; export interface InputRequestClaimRequest { /** Full InputRequest IRI. Subscribe/watch envelopes should pass as:object. */ inputRequest: string; leaseOwner: string; leaseDurationMs?: number; now?: Date | string | number; } export interface InputRequestClaimResult { status: InputRequestClaimStatus; inputRequest: InputRequestRow | null; leaseOwner: string; leaseExpiresAt: string; reason?: string; } export type InputRequestClaimDatabase = ControlRequestClaimDatabase; export declare function claimInputRequest(db: InputRequestClaimDatabase, input: InputRequestClaimRequest): Promise; export declare function isInputRequestStatusClaimable(status: unknown): boolean; export type { InputRequestRow, InputRequestUpdate };