picgo
Version:
A tool for image uploading
42 lines (41 loc) • 1.97 kB
TypeScript
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<ConfigValue>;
/**
* Write a JSON config file using comment-json to preserve comments and metadata.
*/
declare const writeConfigWithComments: (filePath: string, config: ConfigValue) => Promise<void>;
/**
* Load snapshot data from disk, handling legacy plain-object snapshots.
*/
declare const loadSnapshot: (snapshotPath: string) => Promise<ISnapshot>;
/**
* Persist snapshot data to disk with version and timestamp metadata.
*/
declare const saveSnapshot: (snapshotPath: string, config: ConfigValue, version: number) => Promise<void>;
export { IGNORED_PATHS, ENCRYPTION_METHOD_PATH, getLocalEncryptionMethod, loadSnapshot, maskIgnoredFields, readConfigWithComments, resolveE2EVersion, resolveEncryptionMethod, saveSnapshot, writeConfigWithComments };