/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { DiscoveryData } from "#common/Scanner.js";
import { ServerAddressUdp } from "#general";
import { PeerAddress } from "./PeerAddress.js";
/**
 * Operational information for a single peer.
 *
 * For our purposes a "peer" is another node commissioned to a fabric to which we have access.
 */
export interface PeerDescriptor {
    /**
     * The logical address of the peer.
     */
    address: PeerAddress;
    /**
     * A physical address the peer may be accessed at, if known.
     */
    operationalAddress?: ServerAddressUdp;
    /**
     * Additional information collected while locating the peer.
     */
    discoveryData?: DiscoveryData;
}
export declare class ObservablePeerDescriptor implements PeerDescriptor {
    #private;
    constructor({ address, operationalAddress, discoveryData }: PeerDescriptor, onChange: () => void);
    get address(): PeerAddress;
    get operationalAddress(): ServerAddressUdp | undefined;
    set operationalAddress(value: ServerAddressUdp | undefined);
    get discoveryData(): DiscoveryData | undefined;
    set discoveryData(value: DiscoveryData | undefined);
}
//# sourceMappingURL=PeerDescriptor.d.ts.map