import type { KvValue, KvKey, KvListEntry, KvSetOptions, KvListOptions, KvListResponse, KvListSelector, KvTransaction } from '@redocly/config'; import type { ServiceInstanceOptions } from '../../../providers/database/types.js'; import { KvRemoteRepository } from '../repositories/kv-remote-repository.js'; export declare class KvService { #private; constructor(remoteRepository: KvRemoteRepository | null); static getInstance(options: ServiceInstanceOptions): Promise; /** * Get a kv entry by key */ get(rawKey: KvKey): Promise; /** * Get multiple kv entries by keys */ getMany(rawKeys: KvKey[]): Promise<(KvListEntry | null)[]>; /** * List kv entries by prefix */ list(rawSelector: KvListSelector, rawOptions?: KvListOptions): Promise>; /** * Set a kv entry with optional TTL */ set(rawKey: KvKey, value: T, rawOptions?: KvSetOptions): Promise | null>; /** * Delete a specific kv entry by key */ delete(rawKey: KvKey): Promise; /** * Clear all expired kv entries */ clearExpired(): Promise; /** * Execute multiple KV operations within a transaction * All operations will be committed atomically or rolled back on error */ transaction(operation: (tx: KvTransaction) => Promise): Promise; } //# sourceMappingURL=kv-service.d.ts.map