import type * as clock from '../json-crdt-patch/clock';
import * as ext from './ext';
import { Model } from '../json-crdt/model';
import type { NodeBuilder } from '../json-crdt-patch';
import type { SchemaToJsonNode } from '../json-crdt/schema/types';
export { ext };
export declare class ModelWithExt {
    static readonly ext: typeof ext;
    static readonly create: <S extends NodeBuilder | unknown>(schema?: S, sidOrClock?: clock.ClockVector | number) => Model<undefined extends S ? import("..").JsonNode<unknown> : S extends NodeBuilder ? SchemaToJsonNode<S> : SchemaToJsonNode<import("../json-crdt-patch").nodes.json<S>>>;
    static readonly load: <S extends NodeBuilder>(data: Uint8Array, sid?: number, schema?: S) => Model<SchemaToJsonNode<S>>;
}
