import type { Component } from "@caupulican/pi-tui"; import type { Theme, ThemeColor } from "../theme/theme.ts"; export type TitleBadgeStatus = "pending" | "running" | "success" | "warning" | "error" | "failed" | "failure" | "blocked" | "cancelled" | "persistent" | "idle" | "disabled" | "muted" | "info"; export interface TitleBadgeSegment { text: string | number | undefined | null; color?: ThemeColor; bold?: boolean; italic?: boolean; } export interface TitleBadgeOptions { /** Human-facing label rendered inside the badge, e.g. "skill" or "background script". */ label: string; /** Optional glyph rendered before the badge. Keep it one display cell when possible. */ icon?: string; /** Primary action or state, e.g. start/status/logs. */ action?: string | number | undefined | null; /** Secondary details shown after the action. */ details?: Array; /** Status controls badge/accent color. */ status?: TitleBadgeStatus; /** Override badge color when status is not enough. */ badgeColor?: ThemeColor; /** Override action color. */ actionColor?: ThemeColor; } export type ToolTitleStatus = TitleBadgeStatus; export type ToolTitleSegment = TitleBadgeSegment; export type ToolTitleOptions = TitleBadgeOptions; export declare function renderTitleBadge(theme: Theme, options: TitleBadgeOptions): string; export declare function renderToolTitle(theme: Theme, options: ToolTitleOptions): string; export declare class TitleBadgeComponent implements Component { private cachedWidth?; private cachedLines?; private readonly theme; private readonly options; constructor(theme: Theme, options: TitleBadgeOptions); render(width: number): string[]; invalidate(): void; } export declare const ToolTitleComponent: typeof TitleBadgeComponent; export declare function titleBadge(theme: Theme, options: TitleBadgeOptions): TitleBadgeComponent; export declare function toolTitle(theme: Theme, options: ToolTitleOptions): TitleBadgeComponent; //# sourceMappingURL=tool-title.d.ts.map