export type SpinnerOp = "create" | "push" | "clone" | "git-init" | "commit" | "index" | "lanes" | "rebuild" | "probe" | "skills-link" | "agent-manual" | "install" | "search" | "primer" | "reindex" | "repair" | "doctor" | "mesh-info" | "vault-list" | "sync"; export interface WithSpinnerOptions { op: SpinnerOp; stream?: NodeJS.WriteStream; isTty?: boolean; now?: () => number; } export declare function spinnerWordForOp(op: SpinnerOp, elapsedMs: number): string; export declare function renderSpinnerLine(frame: string, word: string, label: string, elapsedMs: number): string; export declare function withSpinner(label: string, fn: () => Promise, opts: WithSpinnerOptions): Promise; export interface PhaseSpinnerHandle { phase(op: SpinnerOp, label?: string): void; stop(): void; } export interface StartSpinnerOptions { stream?: NodeJS.WriteStream; isTty?: boolean; now?: () => number; } export declare function startSpinner(opts?: StartSpinnerOptions): PhaseSpinnerHandle; //# sourceMappingURL=spinner.d.ts.map