import type { _NSObject } from "../Foundation/NSObject.js";
import type { _MTRControllerFactoryParams } from "./MTRControllerFactoryParams.js";
import type { _MTRDeviceController } from "./MTRDeviceController.js";
import type { _MTRDeviceControllerStartupParams } from "./MTRDeviceControllerStartupParams.js";
export declare class _MTRControllerFactory extends _NSObject {
    static alloc(): _MTRControllerFactory;
    static new(): _MTRControllerFactory;
    init(): _MTRControllerFactory;
    static sharedInstance(): _MTRControllerFactory;
    startup$(startupParams: _MTRControllerFactoryParams): boolean;
    shutdown(): void;
    startControllerOnExistingFabric$(startupParams: _MTRDeviceControllerStartupParams): _MTRDeviceController | null;
    startControllerOnNewFabric$(startupParams: _MTRDeviceControllerStartupParams): _MTRDeviceController | null;
    isRunning(): boolean;
}
