import type { AgenticEndpointAccessConfigSnapshot, AgenticEndpointAccessConfigSyncProof, AgenticEndpointAccessForwardedEvent, AgenticEndpointAccessProtectionOutcome } from "./contracts"; export type AgenticEndpointAccessLocalCommitStatus = "committed" | "duplicate" | "conflict" | "proof_gap_required"; export type AgenticEndpointAccessCallbackRecord = { readonly deliveryId: string; readonly eventType: string; readonly receivedAt: string; readonly controlAction: "none" | "invalidate_config" | "suspend_agent" | "unsuspend_agent" | "local_follow_up_required"; readonly authorityCreated: false; }; export type AgenticEndpointAccessUsageRecord = { readonly usageEventId: string; readonly idempotencyKey: string; readonly leaseRef: string; readonly usageKind: "request" | "token" | "tool_call" | "cost_unit"; readonly amount: number; readonly recordedAt: string; }; export type AgenticEndpointAccessForwardedEventRecord = { readonly event: AgenticEndpointAccessForwardedEvent; readonly status: "pending" | "sent" | "failed"; }; export type PutConfigSnapshotResult = { readonly status: AgenticEndpointAccessLocalCommitStatus; readonly snapshot: AgenticEndpointAccessConfigSnapshot | null; }; export type PutSyncProofResult = { readonly status: AgenticEndpointAccessLocalCommitStatus; readonly syncProof: AgenticEndpointAccessConfigSyncProof | null; }; export interface AgenticEndpointAccessLocalStore { putConfigSnapshot(snapshot: AgenticEndpointAccessConfigSnapshot): Promise; getConfigSnapshot(configRevision: string): Promise; getCurrentConfigSnapshot(): Promise; putConfigSyncProof(syncProof: AgenticEndpointAccessConfigSyncProof): Promise; getConfigSyncProof(configRevision: string): Promise; setReadinessState(state: AgenticEndpointAccessReadinessState): Promise; getReadinessState(): Promise; putProtectionOutcome(outcome: AgenticEndpointAccessProtectionOutcome): Promise; putProtectionOutcomeWithForwardedEvent(outcome: AgenticEndpointAccessProtectionOutcome, event: AgenticEndpointAccessForwardedEvent): Promise; getProtectionOutcome(idempotencyKey: string): Promise; recordUsage(record: AgenticEndpointAccessUsageRecord): Promise; listUsageRecords(): Promise; enqueueForwardedEvent(event: AgenticEndpointAccessForwardedEvent): Promise; markForwardedEvent(eventId: string, status: "pending" | "sent" | "failed"): Promise; listForwardedEvents(): Promise; listForwardedEventRecords(): Promise; recordCallback(record: AgenticEndpointAccessCallbackRecord): Promise; getCallback(deliveryId: string): Promise; } export type AgenticEndpointAccessReadinessState = { readonly status: "unregistered" | "registered" | "config_pulled" | "kernel_synced" | "ready" | "fail_closed" | "quarantined" | "revoked"; readonly configRevision: string | null; readonly syncProofRef: string | null; readonly reasonCodes: readonly string[]; readonly updatedAt: string; }; export declare class InMemoryAgenticEndpointAccessLocalStore implements AgenticEndpointAccessLocalStore { private snapshots; private syncProofs; private outcomes; private usage; private outbox; private callbacks; private currentConfigRevision; private readiness; putConfigSnapshot(snapshot: AgenticEndpointAccessConfigSnapshot): Promise; getConfigSnapshot(configRevision: string): Promise; getCurrentConfigSnapshot(): Promise; putConfigSyncProof(syncProof: AgenticEndpointAccessConfigSyncProof): Promise; getConfigSyncProof(configRevision: string): Promise; setReadinessState(state: AgenticEndpointAccessReadinessState): Promise; getReadinessState(): Promise; putProtectionOutcome(outcome: AgenticEndpointAccessProtectionOutcome): Promise; putProtectionOutcomeWithForwardedEvent(outcome: AgenticEndpointAccessProtectionOutcome, event: AgenticEndpointAccessForwardedEvent): Promise; getProtectionOutcome(idempotencyKey: string): Promise; recordUsage(record: AgenticEndpointAccessUsageRecord): Promise; listUsageRecords(): Promise; enqueueForwardedEvent(event: AgenticEndpointAccessForwardedEvent): Promise; markForwardedEvent(eventId: string, status: "pending" | "sent" | "failed"): Promise; listForwardedEvents(): Promise; listForwardedEventRecords(): Promise; recordCallback(record: AgenticEndpointAccessCallbackRecord): Promise; getCallback(deliveryId: string): Promise; }