import { Widget, WidgetProperties } from './Widget.js';
import { MultiParent } from './MultiParent.js';
import { WidgetEvent } from '../events/WidgetEvent.js';
import type { Rect } from '../helpers/Rect.js';
import type { WidgetAutoXML } from '../xml/WidgetAutoXML.js';
/**
 * A {@link MultiParent} which automatically paints children, adds spacing,
 * propagates events and handles layout.
 *
 * Can be constrained to a specific type of children.
 *
 * Note that there is no padding. Put this inside a {@link Container} if padding
 * is needed.
 *
 * @category Widget
 */
export declare class MultiContainer<W extends Widget = Widget> extends MultiParent<W> {
    static autoXML: WidgetAutoXML;
    /** Is this container vertical? */
    private vertical;
    /** The unused space along the main axis after resolving dimensions */
    private unusedSpace;
    /** The number of enabled children in this container */
    private enabledChildCount;
    constructor(vertical: boolean, children?: Array<W>, properties?: Readonly<WidgetProperties>);
    protected onThemeUpdated(property?: string | null): void;
    protected handleEvent(baseEvent: WidgetEvent): Widget | null;
    protected handlePreLayoutUpdate(): void;
    protected handlePostLayoutUpdate(): void;
    protected handleResolveDimensions(minWidth: number, maxWidth: number, minHeight: number, maxHeight: number): void;
    resolvePosition(x: number, y: number): void;
    protected handlePainting(dirtyRects: Array<Rect>): void;
}
