import { type AutoUpdateMode, type AutoUpdateState } from "./types.js"; /** Minimal logger contract so the store does not depend on a concrete logger. */ interface LoggerLike { warn(...args: unknown[]): void; } /** * Reads and writes {@link AutoUpdateState} to a JSON file in the plugin * state directory so that deduplication counters and notification history * survive gateway restarts. */ export declare class AutoUpdateStateStore { private readonly stateDir; private readonly logger?; private readonly filePath; constructor(stateDir: string, logger?: LoggerLike | undefined); /** * Load persisted state, merging it with fresh defaults for the running * version and effective mode. * * Returns clean defaults when the file is missing (first run). * Logs a warning and returns defaults when the file exists but cannot * be read or parsed (e.g. corruption, permission error). */ load(currentVersion: string, effectiveMode: AutoUpdateMode): Promise; /** Atomically write the state to disk, creating the directory if needed. */ save(state: AutoUpdateState): Promise; } export {}; //# sourceMappingURL=state-store.d.ts.map