/**
 * MK1 Resize Controller - Atomic rebuild (no partial updates)
 *
 * Behavior:
 * - Listen only: screen.on("resize", ...)
 * - Debounce: 150ms
 * - On commit: destroy + recreate entire screen + widgets
 * - Always re-focus input after rebuild
 * - Track: last cols/rows, burst count, last resize timestamp
 *
 * CRITICAL: No partial updates. No widget reuse. Ever.
 */
import type { Widgets } from 'neo-blessed';
export interface ResizeStats {
    lastCols: number;
    lastRows: number;
    burstCount: number;
    lastResizeTime: number;
    totalResizes: number;
}
type RebuildCallback = (cols: number, rows: number) => void | Promise<void>;
/**
 * Initialize resize controller
 */
export declare function initResizeController(screen: Widgets.Screen, onRebuild: RebuildCallback): void;
/**
 * Get resize statistics
 */
export declare function getResizeStats(): ResizeStats;
/**
 * Force immediate rebuild (for dbg:panic)
 */
export declare function forceRebuild(): Promise<void>;
/**
 * Destroy resize controller
 */
export declare function destroyResizeController(): void;
export {};
//# sourceMappingURL=resizeController.d.ts.map