/**
 * Configuration for update system
 * Supports environment variables and XDG directories
 */
export interface UpdateConfig {
    paths: {
        backupDir: string;
        npmBackupDir: string;
        tempDir: string;
    };
    limits: {
        maxSearchDepth: number;
        maxBackupCount: number;
        maxBackupSizeMB: number;
    };
    timeouts: {
        gitCloneMs: number;
        npmInstallMs: number;
        npmUpdateMs: number;
        buildMs: number;
    };
}
export declare class UpdateConfigManager {
    private static instance;
    private config;
    private constructor();
    /**
     * Get singleton instance
     */
    static getInstance(): UpdateConfigManager;
    /**
     * Get configuration
     */
    getConfig(): UpdateConfig;
    /**
     * Load configuration from environment and defaults
     */
    private loadConfiguration;
    /**
     * Get base directory respecting XDG standards on Linux
     */
    private getBaseDirectory;
    /**
     * Parse integer environment variable with default
     */
    private parseIntEnv;
    /**
     * Get backup directory path
     */
    getBackupDir(): string;
    /**
     * Get npm backup directory path
     */
    getNpmBackupDir(): string;
    /**
     * Get temporary directory path
     */
    getTempDir(): string;
    /**
     * Get max search depth for installation detection
     */
    getMaxSearchDepth(): number;
    /**
     * Get max number of backups to keep
     */
    getMaxBackupCount(): number;
    /**
     * Get timeout for git clone operations
     */
    getGitCloneTimeout(): number;
    /**
     * Get timeout for npm install operations
     */
    getNpmInstallTimeout(): number;
    /**
     * Get timeout for npm update operations
     */
    getNpmUpdateTimeout(): number;
    /**
     * Get timeout for build operations
     */
    getBuildTimeout(): number;
}
//# sourceMappingURL=updateConfig.d.ts.map