import { ScmHistoryItemRef, ScmHistoryItemChange } from './scm-provider'; /** * Returns the CSS color variable for the given lane index. * Uses Theia's `--theia-scmGraph-*` variables, mirroring the VS Code * scm graph color scheme: * lane 0 (current ref) → historyItemRefColor * lane 1 (remote ref) → historyItemRemoteRefColor * lane 2 (base ref) → historyItemBaseRefColor * lane 3–7 → foreground1–5 */ export declare function laneColor(index: number): string; export declare function getChangeStatus(change: ScmHistoryItemChange): string; export declare function getFileName(uri: string): string; export declare function getFilePath(uri: string): string; /** * Returns the repo-relative path of the given URI, stripping the rootUri prefix. * Falls back to the full path if rootUri is unavailable or doesn't match. */ export declare function getRepoRelativePath(uri: string, rootUri: string | undefined): string; export declare function getRefBadgeClass(ref: ScmHistoryItemRef): string; export declare function isTagRef(ref: ScmHistoryItemRef): boolean; export declare function isRemoteRef(ref: ScmHistoryItemRef): boolean; /** * Extracts the local branch name from a remote ref name like "origin/master" → "master". * Falls back to the full name if no slash is found. */ export declare function getLocalNameFromRemote(remoteName: string): string; export interface DeduplicatedRef { ref: ScmHistoryItemRef; /** True when both a local and a remote ref for this branch exist on this commit. */ hasBoth: boolean; } /** * Deduplicates refs: when a local branch (e.g. "master") and a remote branch * (e.g. "origin/master") both appear, collapse them into one entry with `hasBoth=true`. * Tags and other ref types are passed through unchanged. */ export declare function deduplicateRefs(refs: readonly ScmHistoryItemRef[]): DeduplicatedRef[]; //# sourceMappingURL=scm-history-graph-helpers.d.ts.map