/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Endpoint } from "#endpoint/Endpoint.js";
import { StorageContextFactory } from "@matter/general";
import { EndpointNumber } from "@matter/types";
import { NodeStore } from "../NodeStore.js";
import type { ClientCacheBuffer } from "./ClientCacheBuffer.js";
import { ClientEndpointStore } from "./ClientEndpointStore.js";
import { LocalWriter } from "./LocalWriter.js";
import type { RemoteWriter } from "./RemoteWriter.js";
/**
 * {@link ClientNode} persistence.
 */
export declare class ClientNodeStore extends NodeStore {
    #private;
    constructor(id: string, storage: StorageContextFactory, isPreexisting: boolean, onErase?: () => void);
    toString(): string;
    get id(): string;
    get isPreexisting(): boolean;
    get write(): RemoteWriter;
    set write(write: RemoteWriter);
    get localWriter(): LocalWriter;
    get buffer(): ClientCacheBuffer | undefined;
    set buffer(buffer: ClientCacheBuffer | undefined);
    get endpointStores(): MapIterator<ClientEndpointStore>;
    storeForEndpointNumber(endpointNumber: EndpointNumber): ClientEndpointStore;
    erase(): Promise<void>;
    storeForEndpoint(endpoint: Endpoint): ClientEndpointStore;
    protected load(): Promise<void>;
}
//# sourceMappingURL=ClientNodeStore.d.ts.map