import { IBaseImmutable as INodeImmutable, IBaseMutable as INodeMutable, IExtendedImmutable as INodeExtendedImmutable, IExtendedMutable as INodeExtendedMutable } from "../INode"; import { Copy } from "./copy"; import IChildren from "./IChildren"; import Type from "./Type"; export interface IImmutable extends INodeImmutable, IChildren> { } export interface IMutable extends INodeMutable, IChildren> { } export default IMutable; export interface IOptions { 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 };