export interface ShellInstallManifest {
    version: 1;
    installedAt: string;
    platform: 'linux' | 'darwin';
    shell: string;
    profilePath: string;
    backupPath: string;
}
export interface ShellInstallResult {
    shell: string;
    profilePath: string;
    backupPath: string;
    alreadyInstalled: boolean;
}
export interface ShellUninstallResult {
    profilePath: string;
    notInstalled: boolean;
}
export declare class ShellProfileInstaller {
    private splitgameDir;
    private manifestPath;
    private homeDir;
    constructor(options?: {
        splitgameDir?: string;
        homeDir?: string;
    });
    install(): ShellInstallResult;
    uninstall(): ShellUninstallResult;
    getManifest(): ShellInstallManifest | null;
    private removeSnippet;
    private detectShell;
    private findProfilePath;
    private ensureSplitgameInPath;
    private ensureDir;
}
