/**
 * @license
 * Copyright 2022-2024 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { ActionContext } from "#behavior/context/ActionContext.js";
import { Endpoint } from "#endpoint/Endpoint.js";
import { EndpointLifecycle } from "#endpoint/properties/EndpointLifecycle.js";
import { AsyncObservable, Observable } from "#general";
/**
 * Extended lifecycle information that only applies to root endpoints.
 */
export declare class NodeLifecycle extends EndpointLifecycle {
    #private;
    constructor(endpoint: Endpoint);
    /**
     * True when the node is connected to the network.
     */
    get isOnline(): boolean;
    /**
     * Emits when the node is first online.
     */
    get online(): AsyncObservable<[context: ActionContext], void>;
    /**
     * Emits when the node's endpoint tree is ready/initialized and used to initialize the commissioning state
     */
    get initialized(): Observable<[isCommissioned: boolean], void>;
    /**
     * Emits when the node goes offline.
     */
    get offline(): Observable<[Context: ActionContext], void>;
    /**
     * True when the node is part of at least one fabric.
     */
    get isCommissioned(): boolean;
    /**
     * Emits when node is first commissioned.
     */
    get commissioned(): Observable<[context: ActionContext], void>;
    /**
     * Emits when node is no longer comissioned.
     */
    get decommissioned(): Observable<[context: ActionContext], void>;
}
//# sourceMappingURL=NodeLifecycle.d.ts.map