/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { CommissioningClient } from "#behavior/system/commissioning/CommissioningClient.js";
import type { ClientNode } from "#node/ClientNode.js";
import type { ServerNode } from "#node/ServerNode.js";
import { Discovery } from "./Discovery.js";
import { ParallelPaseDiscovery } from "./ParallelPaseDiscovery.js";
/**
 * Discovers and commissions nodes.  All discovered candidates are commissioned in parallel; the first to establish
 * PASE wins.  Discovery is stopped at PASE time and the abort signal fires to cancel remaining in-flight PASE
 * attempts.  Any candidate that establishes PASE after the winner cleans up its session without proceeding to
 * commissioning.  {@link onComplete} awaits the winner's commissioning to finish before returning.
 */
export declare class CommissioningDiscovery extends ParallelPaseDiscovery<ClientNode> {
    #private;
    constructor(owner: ServerNode, options: CommissioningDiscovery.Options);
    protected get cleanupLabel(): string;
    protected get failureMessage(): string;
    protected onDiscovered(node: ClientNode): void;
}
export declare namespace CommissioningDiscovery {
    type Options = Discovery.InstanceOptions & CommissioningClient.CommissioningOptions;
}
//# sourceMappingURL=CommissioningDiscovery.d.ts.map