import type { EnsureConfigResult } from "types";
export declare const GIT_APP_FOLDER = "code";
export declare const LOGS_FILE_PATH: string;
export declare const STATUS_FILE_PATH: string;
export declare const transformVolumePath: (volumePath?: string) => string;
export declare const navigateToVolumePath: (volumePath: string) => void;
export declare const navigateToGitAppFolder: () => void;
export type InstallOutcome = EnsureConfigResult["outcome"] | "install-failed";
export type InstallStatus = {
    timestamp: string;
    outcome: InstallOutcome;
    packageManager: string;
    buildTool: string;
    rootDir: string;
    error: string | undefined;
};
export type LaunchStatus = {
    jsxPlugin?: Partial<InstallStatus>;
    devTools?: {
        version?: string;
    };
    stash?: {
        completed?: boolean;
    };
    dependencies?: {
        installed?: boolean;
        error?: string | undefined;
    };
    gitRepo?: {
        exists?: boolean;
        configured?: boolean;
        repo?: string;
        branch?: string;
        error?: string | undefined;
        current?: string | undefined;
        expected?: string | undefined;
    };
    gitUser?: {
        configured?: boolean;
    };
    gitDirectory?: {
        exists?: boolean;
        creating?: boolean;
    };
    volumeDirectory?: {
        exists?: boolean;
    };
    args?: {
        repoFullName?: string;
        branchName?: string;
        volumePath?: string;
    };
    initialization?: {
        started?: boolean;
        timestamp?: string;
        completed?: boolean;
        success?: boolean;
        error?: string;
    };
};
export declare const updateStatus: <T extends keyof LaunchStatus>(key: T, value: Partial<LaunchStatus[T]>) => void;
export declare const getConfigStatus: () => LaunchStatus;
/**
 * Get the GitHub remote URL for a given repository
 * @param repoFullName - The full name of the repository (e.g. "BuilderIO/fusion-starter")
 * @param githubToken - The GitHub token to use for the remote URL
 * @returns The GitHub remote URL
 */
export declare const getGitHubRemoteUrl: ({ repoFullName, githubToken, }: {
    repoFullName: string;
    githubToken: string | undefined;
}) => string;
export declare const getActiveBranchCommand: () => string;
export declare const getActiveBranch: (cwd?: string) => string;
