/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { ServerSubscriptionConfig } from "#protocol";
import { DiscoveryCapabilitiesBitmap, TypeFromPartialBitSchema } from "#types";
import { NetworkBehavior } from "./NetworkBehavior.js";
import { ServerNetworkRuntime } from "./ServerNetworkRuntime.js";
/**
 * Server implementation of {@link NetworkBehavior}.
 *
 * This behavior mostly deals with configuration and events.  {@link NetworkServer} provides the actual network
 * implementation.
 */
export declare class NetworkServer extends NetworkBehavior {
    #private;
    state: NetworkServer.State;
    internal: NetworkServer.Internal;
    initialize(): import("#general").MaybePromise;
    /**
     * Advertise and continue advertising at regular intervals until timeout per Matter specification.  If already
     * advertising, the advertisement timeout resets.
     *
     * If the node is uncommissioned it announces as commissionable on all available transports. Commissioned devices
     * only advertise for operational discovery via DNS-SD.
     *
     * Advertisement begins at startup.
     */
    openAdvertisementWindow(): void;
    /**
     * Immediately broadcast presence to the network regardless of whether the advertisement window is open.
     */
    advertiseNow(): void;
}
export declare namespace NetworkServer {
    class Internal extends NetworkBehavior.Internal {
        runtime: ServerNetworkRuntime;
    }
    class State extends NetworkBehavior.State {
        listeningAddressIpv4?: string;
        listeningAddressIpv6?: string;
        ipv4: boolean;
        ble?: boolean;
        discoveryCapabilities: TypeFromPartialBitSchema<typeof DiscoveryCapabilitiesBitmap>;
        subscriptionOptions?: ServerSubscriptionConfig;
    }
}
//# sourceMappingURL=NetworkServer.d.ts.map