import { BaseRenderable, Renderable, TextNodeRenderable } from "@opentui/core"; declare class SlotBaseRenderable extends BaseRenderable { constructor(id: string); add(obj: BaseRenderable | unknown, index?: number): number; getChildren(): BaseRenderable[]; remove(child: BaseRenderable): void; insertBefore(obj: BaseRenderable | unknown, anchor: BaseRenderable | unknown): void; getRenderable(id: string): BaseRenderable | undefined; getChildrenCount(): number; requestRender(): void; findDescendantById(id: string): BaseRenderable | undefined; } export declare class TextSlotRenderable extends TextNodeRenderable { protected slotParent?: SlotRenderable; protected destroyed: boolean; constructor(id: string, parent?: SlotRenderable); detachFromSlot(): void; disposeWithoutSlotCascade(): void; destroy(): void; destroyRecursively(): void; } export declare class LayoutSlotRenderable extends Renderable { private slotParent?; constructor(id: string, parent: SlotRenderable, layoutParent: Renderable); isCompatibleWith(layoutParent?: BaseRenderable): boolean; disposeWithoutSlotCascade(): void; protected destroySelf(): void; } export declare class SlotRenderable extends SlotBaseRenderable { protected destroyed: boolean; private readonly layoutNodesByParent; private readonly textNodesByParent; private layoutNodeCount; private textNodeCount; constructor(id: string); get layoutNode(): LayoutSlotRenderable | undefined; get textNode(): TextSlotRenderable | undefined; private isTextSlotParent; private getCurrentSlotChild; private getTextNodeForParent; private getLayoutNodeForParent; private takeReusableTextNode; private takeReusableLayoutNode; private disposeDetachedTextNodes; private disposeDetachedIncompatibleLayoutNodes; private getAttachedSlotParent; private hasOtherAttachedSlotChildren; getSlotChild(parent: BaseRenderable): LayoutSlotRenderable | TextSlotRenderable; getSlotChildForRemoval(parent: BaseRenderable): BaseRenderable | undefined; didRemoveSlotChild(parent: BaseRenderable, child: BaseRenderable): void; didDestroySlotChild(child: BaseRenderable): void; destroy(): void; } export {};