/**
 * Installation detection utilities
 * Determines whether the application is running from npm or git installation
 */
export type InstallationType = 'npm' | 'git' | 'unknown';
export interface IFileSystem {
    realpathSync(path: string): string;
    existsSync(path: string): boolean;
    statSync(path: string): {
        isDirectory(): boolean;
    };
}
export declare class InstallationDetector {
    private static cachedType;
    private static fsOverride;
    private static importMetaUrlOverride;
    private static readonly MAX_SEARCH_DEPTH;
    /**
     * Set filesystem operations for testing (DI)
     */
    static setFileSystem(fs: IFileSystem | null): void;
    /**
     * Set import.meta.url for testing
     */
    static setImportMetaUrl(url: string | null): void;
    /**
     * Get the current filesystem implementation
     */
    private static getFs;
    /**
     * Get the current import.meta.url
     */
    private static getImportMetaUrl;
    /**
     * Detect the installation type (npm global, git clone, or unknown)
     */
    static getInstallationType(): InstallationType;
    /**
     * Get the npm global installation path if running from npm
     */
    static getNpmGlobalPath(): string | null;
    /**
     * Get the git repository root path if running from git
     */
    static getGitRepositoryPath(): string | null;
    /**
     * Get a human-readable description of the installation
     */
    static getInstallationDescription(): string;
    /**
     * Clear the cached installation type (mainly for testing)
     */
    static clearCache(): void;
}
//# sourceMappingURL=installation.d.ts.map