export type PlanStatus = 'pending' | 'in_progress' | 'completed';
export interface PlanItem {
    step: string;
    status?: PlanStatus;
}
export type NormalizedPlanItem = PlanItem & {
    status: PlanStatus;
};
export type PlanInput = Array<PlanItem | string | number | boolean | null | undefined>;
export interface PlanFormatOptions {
    heading?: string;
    bullet?: string;
    width?: number;
    statusSymbols?: Partial<Record<PlanStatus, string>>;
}
/**
 * Format a structured plan for display with compact tree-like layout.
 */
export declare function formatPlan(plan: PlanInput, options?: PlanFormatOptions): string;
export declare function formatPlan(plan: unknown, options?: PlanFormatOptions): string;
/**
 * Normalize plan input into a typed list of steps with default statuses.
 */
export declare function normalizePlanItems(plan: PlanInput): NormalizedPlanItem[];
export declare function normalizePlanItems(plan: unknown): NormalizedPlanItem[];
/**
 * Wrap plan text with a prefix, preserving indentation for continuations.
 */
export declare function wrapPlanText(text: string, prefix: string, width?: number): string[];
/**
 * Determine the available plan width using the terminal size if available.
 */
export declare function resolvePlanWidth(padding?: number): number | undefined;
//# sourceMappingURL=planFormatter.d.ts.map