export declare type JsonArray = Array; export declare type JsonValue = string | number | boolean | JsonObject | JsonArray; export declare type JsonObject = { [x: string]: JsonValue; }; export declare type ElectronStoreOptions = { defaults?: T; name?: string; cwd?: string; encryptionKey?: string | Buffer; }; export declare class ElectronStore implements Iterable<[string, JsonValue]> { constructor(options?: ElectronStoreOptions); set(key: K, value: T[K]): void; set(key: string, value: any): void; set(object: Pick | T | JsonObject): void; get(key: K, defaultValue?: JsonValue): T[K]; get(key: string, defaultValue?: any): any; has(key: keyof T | string): boolean; delete(key: keyof T | string): void; clear(): void; onDidChange(key: K, callback: (newValue: T[K], oldValue: T[K]) => void): void; onDidChange(key: string, callback: (newValue: JsonValue, oldValue: JsonValue) => void): void; size: number; store: T; path: string; openInEditor(): void; [Symbol.iterator](): Iterator<[string, JsonValue]>; }