import type { IDisposable } from "@surface/core";
declare const BLOCKS: unique symbol;
declare type Anchor = Comment & {
    [BLOCKS]: Set<Block>;
};
export default class Block implements IDisposable {
    private disposed;
    end: Anchor;
    start: Anchor;
    constructor();
    private isAnchor;
    private optimize;
    connect(node: Node): void;
    clear(): void;
    dispose(): void;
    insertAt(parent: Node & ParentNode, reference: Node): void;
    setContent<T extends Node>(content: T, optimize?: boolean): void;
}
export {};
