import type { DappSessionWorkOwner } from './dappSession.ts'; import type { DappOperationRecoveryBinding, DappOperationRecoveryProfile, DappOperationRecoveryRequirement, DappOperationRecoverySnapshot, DappRecoveryCapability } from './operationRecoveryModel.ts'; export type DappExternalRecoveryCapability = Extract; export interface DappExternalRecoveryInspectionResult { readonly state: 'complete' | 'invalidated' | 'closed'; } export interface DappExternalRecoveryInspectionContext { readonly binding: Readonly; readonly capability: Readonly; readonly requirements: readonly Readonly[]; readonly whenCancellationRequested: Promise; isCancellationRequested(): boolean; } export interface CreateDappExternalRecoveryOwnerOptions { readonly binding: DappOperationRecoveryBinding; readonly capability: DappExternalRecoveryCapability; readonly inspect: (context: DappExternalRecoveryInspectionContext) => Promise; readonly profile: DappOperationRecoveryProfile; } export interface DappExternalRecoveryOwner extends DappSessionWorkOwner { invalidate(): void; refresh(): Promise; snapshot(requirement: Readonly, binding: Readonly): DappOperationRecoverySnapshot; } export declare class DappExternalRecoveryError extends Error { readonly code: string; constructor(code: string, options?: ErrorOptions); } /** Passive, explicitly driven observation over an existing externally recovered store. */ export declare function createDappExternalRecoveryOwner(options: CreateDappExternalRecoveryOwnerOptions): DappExternalRecoveryOwner; //# sourceMappingURL=externalRecoveryOwner.d.ts.map