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 declare enum Ordering { Unordered = "unordered", Ordered = "ordered" } export interface IImmutable extends INodeImmutable, IChildren> { readonly ordering: Ordering; } export interface IMutable extends INodeMutable, IChildren> { ordering: Ordering; } export default IMutable; export interface IOptions { ordering?: Ordering; 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 };