import { Blot, Parent } from './blot';
import LinkedList from '../../collection/linked-list';
import ShadowBlot from './shadow';
declare class ContainerBlot extends ShadowBlot implements Parent {
    static defaultChild: string;
    static allowedChildren: any[];
    children: LinkedList<Blot>;
    domNode: HTMLElement;
    appendChild(other: Blot): void;
    attach(): void;
    deleteAt(index: number, length: number): void;
    descendant<T>(criteria: {
        new (): T;
    }, index: number): [T, number];
    descendant<T>(criteria: (blot: Blot) => boolean, index: number): [T, number];
    descendants<T>(criteria: {
        new (): T;
    }, index: number, length: number): T[];
    descendants<T>(criteria: (blot: Blot) => boolean, index: number, length: number): T[];
    detach(): void;
    formatAt(index: number, length: number, name: string, value: any): void;
    insertAt(index: number, value: string, def?: any): void;
    insertBefore(childBlot: Blot, refBlot?: Blot): void;
    length(): number;
    moveChildren(targetParent: Parent, refNode?: Blot): void;
    optimize(): void;
    path(index: number, inclusive?: boolean): [Blot, number][];
    removeChild(child: Blot): void;
    replace(target: Blot): void;
    split(index: number, force?: boolean): Blot;
    unwrap(): void;
    update(mutations: MutationRecord[]): void;
}
export default ContainerBlot;
