/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import type { Endpoint } from "#endpoint/Endpoint.js";
import { ImplementationError } from "@matter/general";
import { PeerAddress } from "@matter/protocol";
/**
 * Thrown when there is a endpoint ID or number conflict.
 */
export declare class IdentityConflictError extends ImplementationError {
}
/**
 * Provides NodeServer and Endpoint identification.
 */
export declare class IdentityService {
    #private;
    constructor(node: Endpoint);
    /**
     * Textual description of the node.
     */
    get nodeDescription(): string;
    /**
     * Ensure that a number is available for assignment to a {@link Endpoint}.
     */
    assertEndpointNumberAvailable(number: number, endpoint: Endpoint): void;
    /**
     * Detect whether a peer address is currently assigned to a peer.
     */
    peerAddressInUse(address: PeerAddress): boolean;
    /**
     * Mark a peer address as in use.
     */
    reservePeerAddress(address: PeerAddress): void;
    /**
     * Mark a peer address as available for use.
     */
    releasePeerAddress(address: PeerAddress): void;
}
//# sourceMappingURL=IdentityService.d.ts.map