import type { Theme, ThemeBg } from "../modes/theme/theme";
import type { State } from "./types";
export { Ellipsis, truncateToWidth } from "@pk-nerdsaver-ai/pi-tui";
/**
 * Incremental xxHash64 key builder.
 *
 * Chains `Bun.hash.xxHash64` calls via seeding — each fed value
 * mixes into the running hash without intermediate string allocations.
 * Accepts strings, numbers (u32), booleans, bigints, and `undefined`/`null`
 * (hashed as a sentinel byte) natively.
 */
export declare class Hasher {
    #private;
    /** Feed a string. */
    str(s: string): this;
    /** Feed an unsigned 32-bit integer. */
    u32(n: number): this;
    /** Feed a 64-bit bigint. */
    u64(n: bigint): this;
    /** Feed a boolean (single byte: 1 = true, 0 = false). */
    bool(b: boolean): this;
    /** Feed a value that may be `undefined` or `null` (hashed as a 0xFF sentinel byte). */
    optional(v: string | undefined | null): this;
    /** Return the final hash digest. */
    digest(): bigint;
}
/** Render-cache entry used by tool renderers. */
export interface RenderCache {
    key: bigint;
    lines: string[];
}
export declare function buildTreePrefix(ancestors: boolean[], theme: Theme): string;
export declare function getTreeBranch(isLast: boolean, theme: Theme): string;
export declare function getTreeContinuePrefix(isLast: boolean, theme: Theme): string;
export declare function padToWidth(text: string, width: number, bgFn?: (s: string) => string): string;
export declare function getStateBgColor(state: State): ThemeBg;
