export type GitGatewaySelector = { kind: "rev"; value: string; } | { kind: "tag"; value: string; } | { kind: "branch"; value: string; }; export interface GitGatewayRequest { repository: string; selector: GitGatewaySelector; subdir?: string; } export interface GitSnapshotWire { source: unknown; tree: unknown; blobs: Array<{ digest: string; bytes: string; }>; } export type GitAcquisitionIntent = "execute" | "fetch" | "update"; export interface GitSourceWire { repository: string; commit: { algorithm: "sha1" | "sha256"; hex: string; }; subdir: string; tree_digest: string; } export interface GitAcquisitionPolicy { locked?: boolean; frozen?: boolean; offline?: boolean; } export interface GitAcquisitionPlanRequest extends GitGatewayRequest { lockedSource?: GitSourceWire; intent: GitAcquisitionIntent; policy?: GitAcquisitionPolicy; } export interface GitAcquisitionPlan { repository: string; selector: GitGatewaySelector; subdir: string; allow_network: boolean; expected?: GitSourceWire; lock_action: "preserve" | "write" | "replace"; } export interface GitTreeInventoryWire { commit: string; entries: Array<{ path: string; kind: "file" | "directory" | "symlink"; bytes?: string; executable?: boolean; linkTarget?: string; }>; } export interface ServerGitGatewayOptions { baseUrl: string; authToken?: string | (() => string | null | Promise); fetch?: typeof globalThis.fetch; signal?: AbortSignal; } export declare function fetchGitTreeInventoryWire(request: GitGatewayRequest, options: ServerGitGatewayOptions): Promise; //# sourceMappingURL=git-gateway.d.ts.map