import { StorageProvider } from './StorageProvider.js';
import { MemoryBankStatus } from '../../types/index.js';
import { MemoryBankConfig } from '../../types/rules.js';
interface SftpConfig {
    host: string;
    port: number;
    username: string;
    password?: string;
    privateKey?: string;
    basePath: string;
}
export declare class SftpStorageProvider implements StorageProvider {
    private client;
    private config;
    private connected;
    constructor(config: SftpConfig);
    initialize(_config: unknown): Promise<void>;
    connect(): Promise<void>;
    private ensureConnected;
    exists(path: string): Promise<boolean>;
    createDirectory(path: string): Promise<void>;
    readFile(path: string): Promise<string>;
    writeFile(path: string, content: string): Promise<void>;
    listFiles(path: string): Promise<string[]>;
    getFileStats(path: string): Promise<{
        mtimeMs: number;
    }>;
    getStatus(path: string): Promise<MemoryBankStatus>;
    createBackup(sourcePath: string, backupPath: string): Promise<void>;
    private getFullPath;
    disconnect(): Promise<void>;
    ensureDirectoryExists(path: string): Promise<void>;
    deleteFile(path: string): Promise<void>;
    initializeMemoryBank(config: MemoryBankConfig): Promise<void>;
    findMemoryBank(path: string): Promise<string | null>;
}
export {};
