import { ProjectStore } from "../state/project-store.js"; import type { ResourceManagerStore, EffectReservation, QueueItem, QueueRequeueOptions, WorkflowRecordUpdate, WorkflowReservation } from "./store.js"; import type { ChildWorkflowRecord, ResourceManagerEvent, ResourceManagerQueueClaim, ManagedResource, ManagedResourceRef, ManagedResourceStatus, EffectRecord, JsonObject } from "./types.js"; export declare class SqliteResourceManagerStore extends ProjectStore implements ResourceManagerStore { putResource(options: { resourceManager: string; key: string; spec: TSpec; initialStatus: TStatus; now?: string; }): ManagedResource; getResource(ref: ManagedResourceRef): ManagedResource | undefined; getResourceByUid(uid: string): ManagedResource | undefined; listResources(options?: { resourceManager?: string; }): ManagedResource[]; updateStatus(options: { ref: ManagedResourceRef; expectedResourceVersion: number; claim: ResourceManagerQueueClaim; status: ManagedResourceStatus; finalizers?: string[]; now?: string; }): ManagedResource; requestDeletion(ref: ManagedResourceRef, nowValue?: string): ManagedResource; updateFinalizers(options: { ref: ManagedResourceRef; expectedResourceVersion: number; finalizers: string[]; now?: string; }): ManagedResource; deleteResource(ref: ManagedResourceRef, expectedResourceVersion: number, claim: ResourceManagerQueueClaim): boolean; enqueue(ref: ManagedResourceRef, availableAt?: string): void; claimNext(options: { resourceManagers: string[]; ownerId: string; leaseMs: number; now?: string; exclude?: ManagedResourceRef[]; }): ResourceManagerQueueClaim | undefined; renewClaim(claim: ResourceManagerQueueClaim, leaseMs: number, nowValue?: string): boolean; settleClaim(claim: ResourceManagerQueueClaim, nowValue?: string): boolean; requeueClaim(claim: ResourceManagerQueueClaim, options: QueueRequeueOptions, nowValue?: string): boolean; listQueue(): QueueItem[]; reserveEffect(options: { key: string; resourceUid: string; claim: ResourceManagerQueueClaim; generation: number; kind: string; requestFingerprint: string; now?: string; }): EffectReservation; getEffect(resourceUid: string, key: string): EffectRecord | undefined; updateEffect(options: { resourceUid: string; key: string; claim: ResourceManagerQueueClaim; state: EffectRecord["state"]; externalRef?: string; error?: string; now?: string; }): EffectRecord; listEffects(resourceUid: string): EffectRecord[]; reserveWorkflow(options: { resourceUid: string; claim: ResourceManagerQueueClaim; requestKey: string; workflow: string; inputFingerprint: string; }): WorkflowReservation; getWorkflow(resourceUid: string, requestKey: string): ChildWorkflowRecord | undefined; getWorkflowByRequestId(requestId: string): ChildWorkflowRecord | undefined; updateWorkflow(requestId: string, update: WorkflowRecordUpdate, claim: ResourceManagerQueueClaim): ChildWorkflowRecord; completeWorkflow(requestId: string, update: WorkflowRecordUpdate): ChildWorkflowRecord; listWorkflows(resourceUid: string): ChildWorkflowRecord[]; recordEvent(options: { resourceManager: string; key: string; claim?: ResourceManagerQueueClaim; type: string; payload?: JsonObject; now?: string; }): ResourceManagerEvent; listEvents(options?: { resourceManager?: string; key?: string; limit?: number; }): ResourceManagerEvent[]; private resourceManagerRow; private requireResourceManagerRow; private requireResourceManagerRowByUid; private requireResource; private mapManagedResource; private finalizers; private replaceFinalizers; private enqueueResourceManagerRow; private queueErrors; private queueVersion; private settleResourceManagerClaim; private assertResourceManagerClaim; private releaseLease; private effectRow; private requireEffectRow; private mapEffect; private effectKey; private workflowRow; private workflowRowById; private requireWorkflowRow; private mapWorkflow; }