import { VNode } from 'snabbdom/vnode'; import { Renderable, RenderableArea, AddChildArgs, RenderableConfig } from '../dom'; import { Stack } from './Stack'; import { DragHost } from '../DragHost'; import { StackTab, StackTabConfigArgs } from './StackTab'; import { DropTarget, DropArea, HighlightCoordinateArgs, DragEvent, RenderableArg } from '../common'; import { StackControl } from './controls'; import { StackItemContainer } from './StackItemContainer'; export interface StackHeaderConfig extends RenderableConfig { size: number; distribute: boolean; droppable: boolean; } export declare type StackHeaderConfigArgs = { [P in keyof StackHeaderConfig]?: StackHeaderConfig[P]; }; export declare const DEFAULT_STACK_HEADER_SIZE = 25; export declare class StackHeader extends Renderable implements DropTarget { protected _contentItems: StackTab[]; private _controls; private _tabAreas; protected _config: StackHeaderConfig; protected _container: Stack; protected _dragHost: DragHost; protected _StackTab: typeof StackTab; readonly width: number; readonly height: number; readonly size: number; readonly droppable: boolean; readonly isHorizontal: boolean; readonly isDistributed: boolean; readonly controls: StackControl[]; initialize(): void; addTab(config: StackTabConfigArgs, options?: AddChildArgs): StackTab; addControl(_control: RenderableArg): void; isTabActive(tab: StackTab): boolean; getItemFromTab(tab: StackTab): StackItemContainer | null; getRenderableChildren(): StackTab[]; render(): VNode; isDroppable(): boolean; getChildren(): Renderable[]; handleDrop(item: Renderable, dropArea: DropArea, e: DragEvent): void; getHighlightCoordinates(args: HighlightCoordinateArgs): RenderableArea; onDropHighlightExit(): void; getOffsetXForTab(tab: StackTab): number; getOffsetYForTab(tab: StackTab): number; private _onDragHostStart; private _onDragHostDropped; private _getIndexFromArea; }