export type TerminalPilotInstallerFileSystem = {
    readFile(path: string, encoding: "utf8"): Promise<string>;
    writeFile(path: string, content: string, options?: {
        encoding: "utf8";
    }): Promise<void>;
    mkdir(path: string, options?: {
        recursive: boolean;
    }): Promise<void>;
    rename(oldPath: string, newPath: string): Promise<void>;
    unlink(path: string): Promise<void>;
    rm?(path: string, options?: {
        recursive?: boolean;
        force?: boolean;
    }): Promise<void>;
    stat(path: string): Promise<{
        mode?: number;
    }>;
    lstat(path: string): Promise<{
        isSymbolicLink(): boolean;
    }>;
    readdir(path: string): Promise<string[]>;
    chmod?(path: string, mode: number): Promise<void>;
};
export type TerminalPilotInstallScope = "global" | "local";
export type TerminalPilotInstallerPlatform = "darwin" | "linux" | "win32";
export declare const DEFAULT_INSTALL_AGENT = "claude-code";
export declare const DEFAULT_INSTALL_SCOPE: TerminalPilotInstallScope;
export declare const TERMINAL_PILOT_SKILL_NAME = "../index.js";
export declare const installableAgents: readonly string[];
export type TerminalPilotInstallerServices = {
    fs?: TerminalPilotInstallerFileSystem;
    cwd?: string;
    homeDir?: string;
    platform?: TerminalPilotInstallerPlatform;
};
export declare function resolveInstallerServices(installer: TerminalPilotInstallerServices | undefined): Required<TerminalPilotInstallerServices>;
export declare function resolveInstallableAgent(agent: string): string;
export declare function resolveInstallScope(input: {
    local?: boolean;
    global?: boolean;
}): TerminalPilotInstallScope;
export declare function loadTerminalPilotTemplate(): Promise<string>;
export declare function getSkillFolderWithHome(agent: string, scope: TerminalPilotInstallScope, cwd: string, homeDir: string): {
    displayPath: string;
    fullPath: string;
};
export declare function removeSkillFolder(fs: TerminalPilotInstallerFileSystem, folderPath: string): Promise<boolean>;
export declare function assertNoSymbolicLinkPath(fs: Pick<TerminalPilotInstallerFileSystem, "lstat">, targetPath: string): Promise<void>;
