import { type GitPlumbing } from '../../src/infrastructure/adapters/GitGraphAdapter.ts';
import { HookInstaller } from '../../src/domain/services/HookInstaller.ts';
import type { Persistence, WarpGraphInstance, CursorBlob, CliOptions, SeekSpec } from './types.ts';
/**
 * Creates a persistence adapter for the given repository path.
 */
export declare function createPersistence(repoPath: string): Promise<{
    persistence: Persistence;
    plumbing: GitPlumbing;
}>;
/**
 * Lists all graph names found under the WARP ref prefix.
 */
export declare function listGraphNames(persistence: Persistence): Promise<string[]>;
/**
 * Resolves the graph name from an explicit flag or auto-detects a single graph.
 */
export declare function resolveGraphName(persistence: Persistence, explicitGraph: string | null): Promise<string>;
/**
 * Opens a WarpCore for the given CLI options.
 */
export declare function openGraph(options: CliOptions): Promise<{
    graph: WarpGraphInstance;
    graphName: string;
    persistence: Persistence;
    plumbing: GitPlumbing;
}>;
/**
 * Reads the active cursor and sets `_seekCeiling` on the graph instance
 * so that subsequent materialize calls respect the time-travel boundary.
 */
export declare function applyCursorCeiling(graph: WarpGraphInstance, persistence: Persistence, graphName: string): Promise<{
    active: boolean;
    tick: number | null;
    maxTick: number | null;
}>;
/**
 * Prints a seek cursor warning banner to stderr when a cursor is active.
 */
export declare function emitCursorWarning(cursorInfo: {
    active: boolean;
    tick: number | null;
    maxTick: number | null;
}, maxTick: number | null): void;
/**
 * Reads the active seek cursor for a graph from Git ref storage.
 */
export declare function readActiveCursor(persistence: Persistence, graphName: string): Promise<CursorBlob | null>;
/**
 * Writes (creates or overwrites) the active seek cursor for a graph.
 */
export declare function writeActiveCursor(persistence: Persistence, graphName: string, cursor: CursorBlob): Promise<void>;
/**
 * Reads the commit date from a checkpoint SHA, if available.
 */
export declare function readCheckpointDate(persistence: Persistence, checkpointSha: string | null): Promise<string | null>;
/**
 * Create a HookInstaller wired with real filesystem dependencies.
 */
export declare function createHookInstaller(): HookInstaller;
/**
 * Check whether stderr is a TTY (interactive terminal).
 */
export declare function isInteractive(): boolean;
/**
 * Prompts the user for input via stderr and returns the trimmed response.
 */
export declare function promptUser(question: string): Promise<string>;
/**
 * Attaches a persistent seek cache to a graph instance unless disabled by flags.
 */
export declare function wireSeekCache({ graph, persistence, plumbing, graphName, seekSpec }: {
    graph: WarpGraphInstance;
    persistence: Persistence;
    plumbing: GitPlumbing;
    graphName: string;
    seekSpec: SeekSpec;
}): void;
