import { Terminal, Buffer, ScreenBuffer, TextBuffer } from 'terminal-kit'; export declare namespace Panel { interface Options { name?: string; width: number; height: number; flex?: { width?: boolean; height?: boolean; }; flexCol?: boolean; drawCursor?: boolean; } } export declare abstract class Panel { options: Panel.Options; buffer: T; calculatedHeight: number; calculatedWidth: number; parent?: Panel; children: Panel[]; render?: () => void; private dirty; private childrenDirty; constructor(options: Panel.Options, buffer: T, render?: () => void); addChild(child: Panel): void; removeChild(child: Panel): boolean; abstract getScreenBuffer(): ScreenBuffer; draw(): void; drawToParent(recursive: boolean): void; markDirty(): void; markDirtyChildren(): void; resize(): void; } export declare class ScreenPanel extends Panel { constructor(dst: Buffer | Terminal, options: Panel.Options, render?: () => void); getScreenBuffer(): ScreenBuffer; } export declare class TextPanel extends Panel { screenBuffer: ScreenBuffer; constructor(dst: Buffer | Terminal, options: Panel.Options, render?: () => void); draw(): void; drawToParent(recursive: boolean): void; getScreenBuffer(): ScreenBuffer; } //# sourceMappingURL=panel.d.ts.map