/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import type { EndpointServer } from "#endpoint/EndpointServer.js";
import { ClusterServer } from "#protocol";
import { Behavior } from "../Behavior.js";
import type { ClusterBehavior } from "../cluster/ClusterBehavior.js";
import { Val } from "../state/Val.js";
import { ServerBehaviorBacking } from "./ServerBehaviorBacking.js";
/**
 * Backing for cluster behaviors on servers.
 *
 * TODO - refactor element server management after we remove the old API
 */
export declare class ClusterServerBacking extends ServerBehaviorBacking {
    #private;
    get clusterServer(): ClusterServer | undefined;
    get runtime(): import("#general").RuntimeService;
    get server(): EndpointServer;
    get type(): ClusterBehavior.Type;
    constructor(server: EndpointServer, type: ClusterBehavior.Type);
    protected invokeInitializer(behavior: Behavior, options?: Behavior.Options): PromiseLike<void> | undefined;
    protected get datasourceOptions(): {
        cluster: import("#types").ClusterId;
        type: import("../index.js").StateType;
        supervisor: import("../index.js").RootSupervisor;
        path: import("#model").DataModelPath;
        events?: import("../state/managed/Datasource.js").Datasource.Events;
        defaults?: Val.Struct;
        store?: import("../state/managed/Datasource.js").Datasource.Store;
        owner?: any;
    };
}
//# sourceMappingURL=ClusterServerBacking.d.ts.map