export interface RemoteRepoContext { remoteUrl?: string; ref?: string; repoDir: string; rootDir: string; defaultInput?: string; keepTemp: boolean; } export interface RemoteRepoOptions { commandName: string; fullClone?: boolean; } interface ResolvedRemoteRepoTarget { cloneUrl: string; ref?: string; rootSubPath?: string; defaultInput?: string; } export declare function resolveRemoteRepoTarget(remoteUrl: string, explicitRef?: string): ResolvedRemoteRepoTarget; export declare function withOptionalRemoteRepo(args: string[], options: RemoteRepoOptions, run: (context: RemoteRepoContext) => Promise | T): Promise; export {};