/**
 * Zero-dependency terminal theming. All color/format helpers no-op when color
 * is not supported (not a TTY, `NO_COLOR` set, or a dumb terminal), so output
 * stays clean when piped or captured. UI is written to stderr by convention so
 * the bridge server's stdout (JSON logs) stays pristine.
 */
/** True when ANSI styling should be emitted to the given stream. */
export declare function supportsColor(stream?: NodeJS.WriteStream): boolean;
type Style = (text: string) => string;
export declare const bold: Style;
export declare const dim: Style;
export declare const italic: Style;
export declare const underline: Style;
export declare const red: Style;
export declare const green: Style;
export declare const yellow: Style;
export declare const blue: Style;
export declare const magenta: Style;
export declare const cyan: Style;
export declare const gray: Style;
/** Status glyphs, with ASCII fallbacks when color (≈ unicode-friendly TTY) is off. */
export declare const glyph: {
    tick: () => "✔" | "[ok]";
    cross: () => "✖" | "[x]";
    bullet: () => "•" | "*";
    arrow: () => "›" | ">";
    pointer: () => ">" | "❯";
    warn: () => "⚠" | "[!]";
    pending: () => "○" | "( )";
};
/** Frames for the in-place spinner (braille dots when color is on). */
export declare const SPINNER_FRAMES: readonly string[];
/** The product banner shown atop interactive surfaces. */
export declare function brandHeader(subtitle?: string): string;
export {};
