import type { TerminalRegion } from '../region.js'; import type { Renderable, FlexChild } from '../components/renderable.js'; /** * Create a flex container - just a function that returns a Renderable! */ export declare function createFlex(region: TerminalRegion, options?: FlexOptions, children?: Renderable[]): Renderable; export declare class Flex { private region; private options; private renderable; private children; private direction; private gap; private alignItems; constructor(region: TerminalRegion, options?: FlexOptions); /** * Add a child - accepts string, Renderable, or array (for functional components) */ addChild(child: FlexChild): void; getPreferredWidth(): number; getMinWidth(): number; getMaxWidth(): number; getHeight(): number; render(x: number, y: number, width: number): void; get flexGrow(): number; get flexShrink(): number; } export interface FlexOptions { direction?: 'row' | 'column'; gap?: number; justifyContent?: 'start' | 'end' | 'center' | 'space-between' | 'space-around'; alignItems?: 'start' | 'end' | 'center' | 'stretch'; minWidth?: number; maxWidth?: number; flexGrow?: number; flexShrink?: number; width?: number; } //# sourceMappingURL=flex.d.ts.map