import { ConfiguredRenderable, SerializedRenderable } from '../dom'; import { SerializerContainer, Serializer, Serialized } from '../serialization'; import { Stack } from './Stack'; import { StackHeaderConfig } from './StackHeader'; import { XYDirection } from '../common'; import { DetachLoc } from './DetachHandler'; export interface SerializedStackItem { tags: string[]; use: Serialized; title: string; droppable: boolean; draggable: boolean; closeable: boolean; detachable: boolean; detach: { isDetached: boolean; loc?: Partial; keepContainer: boolean; }; tabControls: Serialized[]; persist?: boolean; } export interface SerializedStack extends SerializedRenderable { children: SerializedStackItem[]; startIndex: number; direction: XYDirection; reverse: boolean; header: StackHeaderConfig | null; controls: Serialized[]; persist?: boolean; } export declare class StackSerializer extends Serializer { protected _Stack: typeof Stack; serialize(node: Stack): SerializedStack; deserialize(node: SerializedStack): ConfiguredRenderable; static register(container: SerializerContainer): void; }