export interface SelfUpdateRuntime {
    isBunBinary: boolean;
    isBunRuntime: boolean;
    moduleDir: string;
    getPackageDir(): string;
}
export type InstallMethod = "bun-binary" | "npm" | "pnpm" | "yarn" | "bun" | "unknown";
interface SelfUpdateCommandStep {
    command: string;
    args: string[];
    display: string;
}
export interface SelfUpdateCommand extends SelfUpdateCommandStep {
    steps?: SelfUpdateCommandStep[];
}
export declare function detectInstallMethodForRuntime(runtime: SelfUpdateRuntime): InstallMethod;
export declare function getSelfUpdateCommandForRuntime(runtime: SelfUpdateRuntime, packageName: string, npmCommand?: string[], updatePackageName?: string): SelfUpdateCommand | undefined;
export declare function getSelfUpdateUnavailableInstructionForRuntime(runtime: SelfUpdateRuntime, packageName: string, npmCommand?: string[], updatePackageName?: string): string;
export declare function getUpdateInstructionForRuntime(runtime: SelfUpdateRuntime, packageName: string): string;
export {};
//# sourceMappingURL=config-self-update.d.ts.map