@synet/net
Version:
Network abstraction layer for Synet. visit https://syntehtism.ai for more information.
19 lines (18 loc) • 811 B
TypeScript
import type { KeysRepository } from "../../domain/interfaces/keys-repository.interface";
import type { WireguardKeys } from "../../domain/entities/wireguard";
import { Result } from "@synet/patterns";
import type { FileSystem } from "../filesystem/filesystem.interface";
import type { Logger } from "@synet/logger";
/**
* File-based implementation of KeysRepository
*/
export declare class FileKeysRepository implements KeysRepository {
private readonly fileSystem;
private readonly configDir;
private readonly logger?;
private readonly privateKeyPath;
private readonly publicKeyPath;
constructor(fileSystem: FileSystem, configDir?: string, logger?: Logger | undefined);
getKeys(): Promise<Result<WireguardKeys | null>>;
saveKeys(keys: WireguardKeys): Promise<Result<void>>;
}