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>>;
}
