/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { ChannelType } from "#net/Channel.js";
import { Bytes } from "#util/Bytes.js";
import { UdpSocket, UdpSocketOptions } from "../udp/UdpSocket.js";
import type { MockNetwork } from "./MockNetwork.js";
import { MockRouter } from "./MockRouter.js";
export declare class MockUdpSocket implements UdpSocket {
    #private;
    readonly maxPayloadSize: number;
    constructor(network: MockNetwork, { listeningAddress, listeningPort, type }: UdpSocketOptions, interceptor?: MockRouter.Interceptor);
    onData(listener: UdpSocket.Callback): {
        close: () => Promise<void>;
    };
    send(host: string, port: number, payload: Bytes): Promise<void>;
    close(): Promise<void>;
    [Symbol.asyncDispose](): Promise<void>;
    get port(): number;
    supports(type: ChannelType, _address: string): type is ChannelType.UDP;
    addMembership(address: string): void;
    dropMembership(address: string): void;
}
//# sourceMappingURL=MockUdpSocket.d.ts.map