/** * LevelDB-backed pinner state storage. * * Replaces state.json bulk serialization with * individual key-value operations. Each mutation * is persisted immediately — no dirty flags or * debounced writes needed. * * Key scheme: * /kn/ → "" (presence = known) * /tip/ → CID string * /app/ → appId string * /seen/ → timestamp ms (string) * /res/ → timestamp ms (string) * /deact/ → "" (presence = deactivated) */ export interface PinnerStore { open(): Promise; close(): Promise; /** Add a known IPNS name. */ addName(name: string): Promise; /** Remove a known IPNS name and all associated * keys (tip, app, seen). */ removeName(name: string): Promise; /** Check if a name is known. */ hasName(name: string): Promise; /** All known IPNS names. */ getNames(): Promise>; /** Set the tip CID for a name. */ setTip(name: string, cid: string): Promise; /** Get the tip CID for a name, or null. */ getTip(name: string): Promise; /** All tips as a Map. */ getTips(): Promise>; /** Set the appId for a name. */ setAppId(name: string, appId: string): Promise; /** Get the appId for a name, or null. */ getAppId(name: string): Promise; /** All appId mappings as a Map. */ getAppIds(): Promise>; /** Set last-seen timestamp for a name. */ setLastSeen(name: string, ts: number): Promise; /** Get last-seen timestamp, or null. */ getLastSeen(name: string): Promise; /** All last-seen timestamps as a Map. */ getLastSeenAll(): Promise>; /** Set last-resolved timestamp for a name. */ setLastResolved(name: string, ts: number): Promise; /** Get last-resolved timestamp, or null. */ getLastResolved(name: string): Promise; /** All last-resolved timestamps as a Map. */ getLastResolvedAll(): Promise>; /** Mark a name as deactivated (passive phase). */ setDeactivated(name: string): Promise; /** Clear deactivated status for a name. */ clearDeactivated(name: string): Promise; /** All deactivated names. */ getDeactivatedNames(): Promise>; /** Batch-import state (for migration). */ importState(state: { knownNames: string[]; tips: Record; nameToAppId?: Record; lastSeenAt?: Record; }): Promise; } export declare function createPinnerStore(path: string): Promise; //# sourceMappingURL=pinner-store.d.ts.map