import type { NodeishFilesystem } from "@lix-js/fs";
export type RepoContext = Awaited<ReturnType<typeof repoContext>>;
export declare function repoContext(url: string, args: {
    author?: any;
    nodeishFs?: NodeishFilesystem;
    workingDirectory?: string;
    debug?: boolean;
    experimentalFeatures?: {
        lixFs?: boolean;
        lazyClone?: boolean;
        lixMerge?: boolean;
        lixCommit?: boolean;
    };
}): Promise<{
    gitUrl: string;
    gitProxyUrl: string | undefined;
    protocol: string;
    lixHost: string;
    repoHost: string;
    owner: string;
    repoName: string;
    username: string;
    password: string;
    namespace: string;
    useLazyFS: any;
    githubClient: {
        getInstallations: () => Promise<{
            installations: Record<string, any>[];
        } | {
            error: Error;
        }>;
        getAvailableRepos: (installation_id: number) => Promise<{
            repositories: Record<string, any>[];
        } | {
            error: Error;
        }>;
        getRepo: (arg: {
            owner: string;
            repoName: string;
        }) => Promise<Record<string, any> | {
            error: Error;
        }>;
        createFork: (arg: {
            owner: string;
            repo: string;
        }) => Promise<Record<string, any>>;
        mergeUpstream: ({ branch, owner, repoName, }: {
            branch: string;
            owner: string;
            repoName: string;
        }) => Promise<Record<string, any>>;
        compare: ({ owner, repoName, base, head, }: {
            owner: string;
            repoName: string;
            base: string;
            head: string;
        }) => Promise<Record<string, any>>;
    };
    debug: boolean;
    experimentalFeatures: {
        lixFs?: boolean | undefined;
        lazyClone?: boolean | undefined;
        lixMerge?: boolean | undefined;
        lixCommit?: boolean | undefined;
    };
    author: any;
    freshClone: boolean;
    dir: string;
    rawFs: NodeishFilesystem;
    cache: {} | undefined;
}>;
//# sourceMappingURL=repoContext.d.ts.map