import type { SecretStore } from "./types.js"; export interface MachineIdentity { hostname: string; username: string; } export interface EncryptedFileStoreFileSystem { readFile(path: string, encoding: BufferEncoding): Promise; writeFile(path: string, data: string | NodeJS.ArrayBufferView, options?: { encoding?: BufferEncoding; flag?: string; mode?: number; }): Promise; mkdir(path: string, options?: { recursive?: boolean; }): Promise; rename(oldPath: string, newPath: string): Promise; lstat(path: string): Promise<{ isSymbolicLink(): boolean; }>; unlink(path: string): Promise; chmod(path: string, mode: number): Promise; } export interface EncryptedFileStoreInput { fs?: EncryptedFileStoreFileSystem; filePath?: string; salt: string; defaultDirectory?: string; defaultFileName?: string; getMachineIdentity?: () => MachineIdentity | Promise; getHomeDirectory?: () => string; getRandomBytes?: (size: number) => Buffer; } export declare class EncryptedFileStore implements SecretStore { private readonly fs; private readonly filePath; private readonly symbolicLinkCheckStartPath; private readonly salt; private readonly getMachineIdentity; private readonly getRandomBytes; private keyPromise; constructor(input: EncryptedFileStoreInput); get(): Promise; set(value: string): Promise; delete(): Promise; private assertCredentialPathHasNoSymbolicLinks; private getEncryptionKey; }