/**
 * Interface for the server configuration
 */
export interface ServerConfig {
    blockedCommands?: string[];
    defaultShell?: string;
    logLevel?: 'error' | 'warn' | 'info' | 'debug';
    allowedDirectories?: string[];
    [key: string]: any;
}
/**
 * Manages reading and writing server configuration
 */
export declare class ConfigManager {
    private config;
    private initialized;
    /**
     * Load configuration from disk
     */
    loadConfig(): Promise<ServerConfig>;
    /**
     * Save current configuration to disk
     */
    saveConfig(): Promise<void>;
    /**
     * Get a specific configuration value
     */
    getValue<T>(key: string): Promise<T | undefined>;
    /**
     * Set a specific configuration value
     */
    setValue<T>(key: string, value: T): Promise<void>;
    /**
     * Get the entire configuration object
     */
    getConfig(): Promise<ServerConfig>;
    /**
     * Update multiple configuration values at once
     */
    updateConfig(partialConfig: Partial<ServerConfig>): Promise<ServerConfig>;
}
export declare const configManager: ConfigManager;
