/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Bytes, Crypto } from "#general";
import { NodeId } from "#types";
import { DecodedMessage, DecodedPacket, Message, Packet, SessionType } from "../codec/MessageCodec.js";
import type { Fabric } from "../fabric/Fabric.js";
import { MessageCounter } from "../protocol/MessageCounter.js";
import { Session } from "./Session.js";
import { SessionParameters } from "./SessionParameters.js";
export declare const UNICAST_UNSECURE_SESSION_ID = 0;
export declare class UnsecuredSession extends Session {
    #private;
    readonly closingAfterExchangeFinished = false;
    readonly supportsMRP = true;
    readonly type = SessionType.Unicast;
    constructor(config: UnsecuredSession.Config);
    get isSecure(): boolean;
    get isPase(): boolean;
    decode(packet: DecodedPacket): DecodedMessage;
    encode(message: Message): Packet;
    get attestationChallengeKey(): Bytes;
    setFabric(_fabric: Fabric): void;
    get via(): string;
    get id(): number;
    get peerSessionId(): number;
    get nodeId(): NodeId;
    get peerNodeId(): undefined;
    get associatedFabric(): Fabric;
    detachChannel(): import("../index.js").MessageChannel | undefined;
    close(): Promise<void>;
}
export declare namespace UnsecuredSession {
    interface Config extends Session.CommonConfig {
        crypto: Crypto;
        messageCounter: MessageCounter;
        initiatorNodeId?: NodeId;
        sessionParameters?: SessionParameters.Config;
        isInitiator?: boolean;
    }
}
//# sourceMappingURL=UnsecuredSession.d.ts.map