import { AbstractLayout, Dimension, EllipsisMenu, EventHandler, HtmlCompPrefSizeOptions, Menu, MenuModel, PropertyChangeEvent, Tab, TabArea } from '../../../index';
export declare class TabAreaLayout extends AbstractLayout {
    tabArea: TabArea;
    overflowTabs: Tab[];
    visibleTabs: Tab[];
    protected _tabAreaPropertyChangeHandler: EventHandler<PropertyChangeEvent>;
    constructor(tabArea: TabArea);
    layout($container: JQuery): void;
    protected _layoutSelectionMarker(): void;
    protected _updateEllipsis(): void;
    preferredLayoutSize($container: JQuery, options: HtmlCompPrefSizeOptions): Dimension;
    protected _minSize(tabs: Tab[]): Dimension;
    protected _prefSize(tabs: Tab[], considerEllipsis?: boolean): Dimension;
    protected _setFirstLastMarker(tabs: Tab[], considerEllipsis?: boolean): void;
    protected _tabSize(item: Tab | EllipsisMenu): Dimension;
    protected _onTabAreaPropertyChange(event: PropertyChangeEvent): void;
}
export declare class EllipsisTabMenu extends Menu implements EllipsisTabMenuModel {
    model: EllipsisTabMenuModel;
    tab: Tab;
}
export interface EllipsisTabMenuModel extends MenuModel {
    tab: Tab;
}
//# sourceMappingURL=TabAreaLayout.d.ts.map