import { DrawBatcher } from './DrawBatcher'; import { CanvasNode } from './CanvasNode'; import { ICanvasContainer } from './CanvasContainer.type'; import { PaddingBox, FlexBoxOptions } from '../miniflex'; export * from './CanvasContainer.type'; export declare const resolvePaddingBox: (padding: FlexBoxOptions['padding'] | undefined) => PaddingBox; export declare class CanvasContainer extends CanvasNode implements ICanvasContainer { private flexOptionsValue; cachedPadding: PaddingBox; cachedIsRow: boolean; cachedGap: number; private optionsCacheValid; private readonly positionResolver; private readonly flexTreeBuilder; private readonly layoutReconciler; constructor(id: string, flexOptions?: FlexBoxOptions, backgroundColor?: string); get flexOptions(): FlexBoxOptions; set flexOptions(value: FlexBoxOptions); setFlexOptions(options: Partial): void; private invalidateOptionsCache; private ensureOptionsCache; measure(ctx: CanvasRenderingContext2D): void; private measureChildren; private computeIntrinsicSize; private applySizeConstraints; private resolveStyleDimension; private resolveParentContentSize; performLayout(ctx: CanvasRenderingContext2D, preserveCurrentRect?: boolean): void; private layoutPhase1Flexbox; private layoutPhase2Absolute; private layoutAbsoluteChildSubtree; private clampWidthToParent; separateChildrenByLayoutMode(): { layoutChildren: CanvasNode[]; absoluteChildren: CanvasNode[]; }; onPaint(batcher: DrawBatcher, ctx: CanvasRenderingContext2D): void; }