import { Disposable, DisposableCollection, Emitter } from '@theia/core/lib/common'; import URI from '@theia/core/lib/common/uri'; import { ScmInput, ScmInputOptions } from './scm-input'; import { ScmProvider } from './scm-provider'; export interface ScmProviderOptions { input?: ScmInputOptions; parentRootUri?: string; } export declare class ScmRepository implements Disposable { readonly provider: ScmProvider; protected readonly options: ScmProviderOptions; protected readonly onDidChangeEmitter: Emitter; readonly onDidChange: import("@theia/core/lib/common").Event; protected fireDidChange(): void; protected readonly toDispose: DisposableCollection; readonly input: ScmInput; get parentRootUri(): string | undefined; constructor(provider: ScmProvider, options?: ScmProviderOptions); dispose(): void; /** * Build a URI that addresses the given file at a specific revision in this repository. * * The result reuses the workspace path of {@link fileUri} but switches the scheme to the * provider id and encodes `{ path, ref }` in the query, which is the contract resource * resolvers (e.g. the Git extension) expect to retrieve content at a revision. * * @param fileUri The workspace URI of the file (typically a `file:` URI). * @param ref The revision (commit, branch, tag). An empty string addresses the index. */ toUriAtRef(fileUri: URI, ref: string): URI; } //# sourceMappingURL=scm-repository.d.ts.map