import type { IConfig } from '../../types'; import type { ConfigValue, ISnapshot } from './types'; import { E2EVersion, EncryptionMethod } from './types'; declare const ENCRYPTION_METHOD_PATH = "settings.picgoCloud.encryptionMethod"; declare const IGNORED_PATHS: string[]; interface IMaskIgnoredOptions { cleanupEmptyParents?: boolean; } /** * Mask ignored config paths so local-only values don't conflict or overwrite remote values. */ declare const maskIgnoredFields: (target: IConfig, source: IConfig, options?: IMaskIgnoredOptions) => IConfig; /** * Read the local encryption method preference from config. */ declare const getLocalEncryptionMethod: (config: IConfig) => EncryptionMethod | undefined; /** * Resolve encryption method based on explicit method or local preference. */ declare const resolveEncryptionMethod: (method: EncryptionMethod | undefined, localConfig: IConfig) => EncryptionMethod; /** * Normalize remote E2E version and reject unsupported versions. */ declare const resolveE2EVersion: (version?: number) => E2EVersion; /** * Read a JSON config file using comment-json to preserve comments and metadata. */ declare const readConfigWithComments: (filePath: string) => Promise; /** * Write a JSON config file using comment-json to preserve comments and metadata. */ declare const writeConfigWithComments: (filePath: string, config: ConfigValue) => Promise; /** * Load snapshot data from disk, handling legacy plain-object snapshots. */ declare const loadSnapshot: (snapshotPath: string) => Promise; /** * Persist snapshot data to disk with version and timestamp metadata. */ declare const saveSnapshot: (snapshotPath: string, config: ConfigValue, version: number) => Promise; export { IGNORED_PATHS, ENCRYPTION_METHOD_PATH, getLocalEncryptionMethod, loadSnapshot, maskIgnoredFields, readConfigWithComments, resolveE2EVersion, resolveEncryptionMethod, saveSnapshot, writeConfigWithComments };