import { IConfigProvider } from './interfaces/IConfigProvider.js';
import { WorkspaceConfig, CliOptions } from './WorkspaceConfig.js';
import type { Language } from '@memory-bank/schemas';
/**
 * Implementation of configuration provider
 */
export declare class ConfigProvider implements IConfigProvider {
    private config;
    /**
     * Initialize configuration
     * @param options CLI options
     * @returns Promise resolving to workspace config
     */
    initialize(options?: CliOptions): Promise<WorkspaceConfig>;
    /**
     * Get current configuration
     * @returns Workspace config
     */
    getConfig(): WorkspaceConfig;
    /**
     * Get global memory bank path
     * @returns Global memory bank path
     */
    getGlobalMemoryPath(): string;
    /**
     * Get branch memory bank path
     * @param branchName Branch name
     * @returns Branch memory bank path
     */
    getBranchMemoryPath(branchName: string): string;
    /**
     * Get language setting
     * @returns Language setting
     */
    getLanguage(): Language;
    /**
     * Resolve docs root directory
     * @param options CLI options
     * @returns Promise resolving to an object containing the resolved path and how it was resolved ('cli', 'env', or 'default')
     */
    private resolveDocsRoot;
    /**
     * Resolve language setting
     * @param options CLI options
     * @returns Promise resolving to language
     */
    private resolveLanguage;
    /**
     * Validate language
     * @param language Language to validate
     * @returns Valid language
     */
    private validateLanguage;
    /**
     * Validate and normalize path
     * @param p Path to validate
     * @returns Promise resolving to validated path
     */
    private validatePath;
    /**
     * Ensure required directories exist
     * @returns Promise resolving when directories are created
     */
    private ensureDirectories;
}
//# sourceMappingURL=ConfigProvider.d.ts.map