import type { OnPushConfig } from "../core/document-types.js"; import type { OnPushState } from "../core/state.js"; export interface ResolvedRepo { name: string; localPath: string; type: "local" | "cloned"; headSha: string; } export interface RepoChangeSet { repo: ResolvedRepo; hasChanges: boolean; fromSha?: string; toSha: string; } /** * Resolves all repositories from the config. * For single mode: uses cwd or the configured repository path. * For multi mode: resolves all entries in the repositories array. */ export declare function resolveRepos(config: OnPushConfig, configPath: string): Promise; /** * Syncs remote repositories — clones or updates cached clones. * Returns a new array with updated localPath and headSha for remote repos. */ export declare function syncRepos(config: OnPushConfig, repos: ResolvedRepo[], configPath: string): Promise; /** * Compares current HEAD SHAs against state to determine which repos have changes. */ export declare function getRepoChanges(repos: ResolvedRepo[], state: OnPushState | null): RepoChangeSet[]; /** * Converts a repo name to a URL-safe slug for state keys. */ export declare function slugify(name: string): string; //# sourceMappingURL=manager.d.ts.map