/**
 * Copilot Package Manager
 *
 * Self-managed npm package installation for copilot-api:
 * - Installs copilot-api locally to ~/.ccs/copilot/
 * - Auto-updates to latest version (like CLIProxy binary manager)
 * - Version caching to avoid hitting npm registry on every run
 * - Retry logic with exponential backoff
 *
 * Pattern: Mirrors CLIProxy BinaryManager but for npm packages
 */
/** Update check result */
interface UpdateCheckResult {
    hasUpdate: boolean;
    currentVersion: string;
    latestVersion: string;
    fromCache: boolean;
}
/**
 * Get copilot base directory
 * All copilot-related files are stored under ~/.ccs/copilot/
 */
export declare function getCopilotDir(): string;
/**
 * Get path to copilot-api binary
 */
export declare function getCopilotApiBinPath(): string;
/**
 * Get path to version pin file
 */
export declare function getVersionPinPath(): string;
/**
 * Check if copilot-api is installed locally
 */
export declare function isCopilotApiInstalled(): boolean;
/**
 * Get installed version from .version file
 */
export declare function getInstalledVersion(): string | null;
/**
 * Get pinned version if one exists
 */
export declare function getPinnedVersion(): string | null;
/**
 * Save pinned version
 */
export declare function savePinnedVersion(version: string): void;
/**
 * Clear pinned version
 */
export declare function clearPinnedVersion(): void;
/**
 * Check for updates
 */
export declare function checkForUpdates(): Promise<UpdateCheckResult>;
/**
 * Ensure copilot-api is available (install if missing, update if outdated)
 * @returns Path to copilot-api binary
 */
export declare function ensureCopilotApi(verbose?: boolean): Promise<string>;
/**
 * Install a specific version of copilot-api
 */
export declare function installCopilotApiVersion(version: string, _verbose?: boolean): Promise<void>;
/**
 * Uninstall copilot-api (remove ~/.ccs/copilot directory)
 */
export declare function uninstallCopilotApi(): void;
/**
 * Get copilot-api info
 */
export declare function getCopilotApiInfo(): {
    installed: boolean;
    version: string | null;
    path: string;
    pinnedVersion: string | null;
};
declare const _default: {
    getCopilotDir: typeof getCopilotDir;
    getCopilotApiBinPath: typeof getCopilotApiBinPath;
    isCopilotApiInstalled: typeof isCopilotApiInstalled;
    getInstalledVersion: typeof getInstalledVersion;
    getPinnedVersion: typeof getPinnedVersion;
    savePinnedVersion: typeof savePinnedVersion;
    clearPinnedVersion: typeof clearPinnedVersion;
    checkForUpdates: typeof checkForUpdates;
    ensureCopilotApi: typeof ensureCopilotApi;
    installCopilotApiVersion: typeof installCopilotApiVersion;
    uninstallCopilotApi: typeof uninstallCopilotApi;
    getCopilotApiInfo: typeof getCopilotApiInfo;
};
export default _default;
//# sourceMappingURL=copilot-package-manager.d.ts.map