/**
 * Compact Mode
 *
 * Optimized display for small screens:
 * - Reduced margins and padding
 * - Abbreviated output
 * - Collapsible sections
 * - Responsive layout
 */
export interface TerminalSize {
    columns: number;
    rows: number;
}
export type DisplayMode = 'full' | 'compact' | 'minimal';
export interface CompactModeConfig {
    /** Force a specific mode */
    forceMode?: DisplayMode;
    /** Minimum width for full mode */
    fullModeMinWidth: number;
    /** Minimum width for compact mode */
    compactModeMinWidth: number;
    /** Maximum lines for tool output */
    maxToolOutputLines: number;
    /** Show timestamps */
    showTimestamps: boolean;
    /** Show icons */
    showIcons: boolean;
    /** Truncate long lines */
    truncateLongLines: boolean;
    /** Maximum message preview length */
    maxPreviewLength: number;
}
/**
 * Compact Mode Manager
 */
export declare class CompactModeManager {
    private config;
    private currentMode;
    private terminalSize;
    constructor(config?: Partial<CompactModeConfig>);
    /**
     * Get current display mode
     */
    getMode(): DisplayMode;
    /**
     * Set display mode
     */
    setMode(mode: DisplayMode): void;
    /**
     * Auto-detect mode based on terminal size
     */
    autoDetectMode(): void;
    /**
     * Get terminal size
     */
    getTerminalSize(): TerminalSize;
    /**
     * Check if in compact mode
     */
    isCompact(): boolean;
    /**
     * Check if in minimal mode
     */
    isMinimal(): boolean;
    /**
     * Get effective width
     */
    getWidth(): number;
    /**
     * Get content width (with margins)
     */
    getContentWidth(): number;
    /**
     * Truncate text to fit width
     */
    truncate(text: string, maxWidth?: number): string;
    /**
     * Wrap text to fit width
     */
    wrap(text: string, maxWidth?: number): string[];
    /**
     * Format a header
     */
    formatHeader(title: string): string;
    /**
     * Format a separator
     */
    formatSeparator(): string;
    /**
     * Format a message preview
     */
    formatMessagePreview(role: string, content: string): string;
    /**
     * Format tool output
     */
    formatToolOutput(toolName: string, output: string): string;
    /**
     * Format a status line
     */
    formatStatusLine(items: Array<{
        label: string;
        value: string;
    }>): string;
    /**
     * Format timestamp
     */
    formatTimestamp(date: Date): string;
    /**
     * Get icon for type
     */
    getIcon(type: string): string;
    /**
     * Format a list
     */
    formatList(items: string[], numbered?: boolean): string;
    /**
     * Format a table
     */
    formatTable(headers: string[], rows: string[][]): string;
    /**
     * Get mode-specific padding
     */
    getPadding(): {
        left: number;
        right: number;
        top: number;
        bottom: number;
    };
    /**
     * Determine mode based on terminal size
     */
    private determineMode;
}
/**
 * Get or create compact mode manager
 */
export declare function getCompactModeManager(): CompactModeManager;
/**
 * Check if in compact mode
 */
export declare function isCompactMode(): boolean;
/**
 * Get current display mode
 */
export declare function getDisplayMode(): DisplayMode;
/**
 * Set display mode
 */
export declare function setDisplayMode(mode: DisplayMode): void;
export default CompactModeManager;
