import { RainbirdPlatform } from './Platform.HAP.js';
/**
 * RainbirdMatterPlatform
 * Extends RainbirdPlatform to add Homebridge Matter support.
 * When Matter is available and enabled, devices are registered as Matter accessories
 * instead of HAP accessories.
 */
export declare class RainbirdMatterPlatform extends RainbirdPlatform {
    /** Map of Matter cached accessories restored from disk */
    readonly matterAccessories: Map<string, any>;
    private readonly matterSubscriptions;
    get matterApi(): any;
    /**
     * Called when homebridge restores cached HAP accessories from disk.
     * Delegate to the HAP platform implementation so fallback to HAP mode
     * continues to use the restored cache without creating duplicates.
     */
    configureAccessory(accessory: any): void;
    /**
     * Called when homebridge restores cached Matter accessories from disk at startup.
     */
    configureMatterAccessory(accessory: any): void;
    /**
     * Discover and register all RainBird devices as Matter accessories.
     * Overrides the HAP implementation to use the Matter API.
     */
    protected discoverDevices(): Promise<void>;
    /**
     * Register or update a Matter accessory. Always rebuilds the accessory definition
     * to apply config changes and re-attach handlers, merging into the cached instance if present.
     * When device.external is true the accessory is published as an external Matter accessory.
     */
    private registerOrUpdateMatterAccessory;
    /**
     * Publish a Matter accessory as either an external accessory or a platform accessory,
     * mirroring the HAP externalOrPlatform behaviour.
     */
    private externalOrPlatformMatter;
    /**
     * Ensure each Matter accessory has at most one event subscription attached.
     */
    private ensureMatterSubscription;
    /**
     * Unregister a Matter accessory by UUID key.
     */
    private unregisterMatterAccessory;
    /**
     * Update a Matter accessory cluster state safely.
     */
    private updateMatterState;
    private registerMatterIrrigationSystem;
    private registerMatterLeakSensor;
    private registerMatterZoneValve;
    private registerMatterContactSensor;
    private registerMatterProgramSwitch;
    private registerMatterStopIrrigationSwitch;
    private registerMatterDelayIrrigationSwitch;
    private registerMatterTestZoneSwitch;
}
//# sourceMappingURL=Platform.Matter.d.ts.map