import { IBaseImmutable as INodeImmutable, IBaseMutable as INodeMutable, IExtendedImmutable as INodeExtendedImmutable, IExtendedMutable as INodeExtendedMutable } from "../INode"; import { Copy } from "./copy"; import IChildren from "./IChildren"; import { Layout } from "./IContainer"; import { Size as Padding } from "./IPadding"; import Type from "./Type"; export interface IImmutable extends INodeImmutable, IChildren> { readonly layout: Layout; readonly padding: Padding; } export interface IMutable extends INodeMutable, IChildren> { layout: Layout; padding: Padding; } export default IMutable; export interface IOptions { layout?: Layout; padding?: Padding; children: Iterable>; copy?: Copy; } export declare type Init = Iterable> | IOptions; export interface IStatic { new (init: Init): IMutable; } export declare type IExtendedMutable = IMutable & IExtension; export declare type IExtendedImmutable = IImmutable & IExtension; export { IExtendedMutable as IExtended };