/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { IChannelAttributes, IChannelFactory, IChannelServices, IFluidDataStoreRuntime } from "@fluidframework/datastore-definitions";
import { SharedTreeOptions } from "./shared-tree/index.js";
import { ITree } from "./simple-tree/index.js";
/**
 * A channel factory that creates an {@link ITree}.
 * @internal
 */
export declare class TreeFactory implements IChannelFactory<ITree> {
    private readonly options;
    readonly type: string;
    readonly attributes: IChannelAttributes;
    constructor(options: SharedTreeOptions);
    load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, channelAttributes: Readonly<IChannelAttributes>): Promise<ITree>;
    create(runtime: IFluidDataStoreRuntime, id: string): ITree;
}
/**
 * SharedTree is a hierarchical data structure for collaboratively editing JSON-like trees
 * of objects, arrays, and other data types.
 *
 * @remarks
 * This implements {@link @fluidframework/fluid-static#SharedObjectClass}.
 * @privateRemarks
 * Due to the dependency structure and the placement of that interface SharedObjectClass,
 * this interface implementation can not be recorded in the type here.
 * @public
 */
export declare const SharedTree: {
    /**
     * Gets the factory this factory is a wrapper for.
     */
    getFactory(): IChannelFactory<ITree>;
};
//# sourceMappingURL=treeFactory.d.ts.map