/** Exact repository state bound into a proof. */
export interface StandardsGitState {
    readonly root: string;
    readonly identity: string;
    readonly head: string;
    readonly tree: string;
    readonly clean: boolean;
}
/**
 * Read canonical identity, commit/tree objects, and complete nonignored dirt.
 * Git optional locks and fsmonitor are disabled because UI observation must be
 * read-only and safe to repeat.
 * @param projectRoot - Path within the repository
 * @returns Bounded repository state
 */
export declare function readStandardsGitState(projectRoot: string): Promise<StandardsGitState>;
/**
 * Require a parent commit for the non-vacuous threshold-ratchet comparison.
 * @param projectRoot - Canonical repository root
 * @returns Parent commit object identifier
 */
export declare function requireStandardsBaseCommit(projectRoot: string): Promise<string>;
/**
 * Normalize HTTPS, SSH URL, and SCP-like remotes to host[:port]/owner/repo.
 * Credentials are never retained and default transport ports are removed.
 * @param remote - One configured origin URL
 * @returns Stable lowercase repository identity
 */
export declare function normalizeGitRemoteIdentity(remote: string): string;
//# sourceMappingURL=git-state.d.ts.map