/**
 * This file contains the cluster EveHistory.
 *
 * @file EveHistoryCluster.ts
 * @author Luca Liguori
 * @date 2023-12-26
 * @version 1.1.0
 *
 * Copyright 2023, 2024, 2025 Luca Liguori.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License. *
 */
import { Identity } from 'matterbridge/matter';
import { OptionalAttribute, WritableAttribute, BitFlag, Attribute, OptionalWritableAttribute, MutableCluster } from 'matterbridge/matter/types';
export declare namespace EveHistory {
    const enum WeatherTrend {
        BLANK = 0,
        SUN = 1,
        CLOUDS_SUN = 3,
        RAIN = 5,
        RAIN_WIND = 12
    }
    const enum Sensitivity {
        HIGH = 0,
        MEDIUM = 4,
        LOW = 7
    }
    const enum TemperatureDisplayUnits {
        CELSIUS = 0,
        FAHRENHEIT = 1
    }
    enum Feature {
        EveDoor = "EveDoor",
        EveMotion = "EveMotion",
        EveEnergy = "EveEnergy",
        EveWeather = "EveWeather",
        EveRoom = "EveRoom"
    }
    const EveDoorComponent: {
        readonly attributes: {
            readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly lastEvent: OptionalAttribute<number, any>;
            readonly timesOpened: OptionalAttribute<number, any>;
            readonly resetTotal: OptionalWritableAttribute<number, any>;
            readonly rLoc: Attribute<number, any>;
        };
    };
    const EveMotionComponent: {
        readonly attributes: {
            readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly lastEvent: OptionalAttribute<number, any>;
            readonly motionSensitivity: OptionalWritableAttribute<number, any>;
            readonly rLoc: Attribute<number, any>;
        };
    };
    const EveEnergyComponent: {
        readonly attributes: {
            readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly lastEvent: OptionalAttribute<number, any>;
            readonly resetTotal: OptionalWritableAttribute<number, any>;
            readonly voltage: OptionalAttribute<number, any>;
            readonly current: OptionalAttribute<number, any>;
            readonly consumption: OptionalAttribute<number, any>;
            readonly totalConsumption: OptionalAttribute<number, any>;
            readonly energyUnknown: OptionalAttribute<number, any>;
            readonly childLock: OptionalWritableAttribute<boolean, any>;
            readonly rLoc: Attribute<number, any>;
        };
    };
    const EveWeatherComponent: {
        readonly attributes: {
            readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly rLoc: Attribute<number, any>;
            readonly elevation: OptionalWritableAttribute<number, any>;
            readonly airPressure: OptionalAttribute<number, any>;
            readonly weatherTrend: OptionalAttribute<number, any>;
            readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
        };
    };
    const EveRoomComponent: {
        readonly attributes: {
            readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly rLoc: Attribute<number, any>;
            readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
        };
    };
    const Base: {
        readonly id: 319486977;
        readonly name: "EveHistory";
        readonly revision: 1;
        readonly features: {
            readonly eveDoor: BitFlag;
            readonly eveMotion: BitFlag;
            readonly eveEnergy: BitFlag;
            readonly eveWeather: BitFlag;
            readonly eveRoom: BitFlag;
        };
        readonly attributes: {
            readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly timesOpened: OptionalAttribute<number, any>;
            readonly lastEvent: OptionalAttribute<number, any>;
            readonly resetTotal: OptionalWritableAttribute<number, any>;
            readonly voltage: OptionalAttribute<number, any>;
            readonly current: OptionalAttribute<number, any>;
            readonly consumption: OptionalAttribute<number, any>;
            readonly totalConsumption: OptionalAttribute<number, any>;
            readonly energyUnknown: OptionalAttribute<number, any>;
            readonly motionSensitivity: OptionalWritableAttribute<number, any>;
            readonly childLock: OptionalWritableAttribute<boolean, any>;
            readonly rLoc: Attribute<number, any>;
            readonly elevation: OptionalWritableAttribute<number, any>;
            readonly airPressure: OptionalAttribute<number, any>;
            readonly weatherTrend: OptionalAttribute<number, any>;
            readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
        };
        readonly extensions: readonly [{
            readonly flags: {
                readonly eveDoor: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly lastEvent: OptionalAttribute<number, any>;
                    readonly timesOpened: OptionalAttribute<number, any>;
                    readonly resetTotal: OptionalWritableAttribute<number, any>;
                    readonly rLoc: Attribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly eveMotion: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly lastEvent: OptionalAttribute<number, any>;
                    readonly motionSensitivity: OptionalWritableAttribute<number, any>;
                    readonly rLoc: Attribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly eveEnergy: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly lastEvent: OptionalAttribute<number, any>;
                    readonly resetTotal: OptionalWritableAttribute<number, any>;
                    readonly voltage: OptionalAttribute<number, any>;
                    readonly current: OptionalAttribute<number, any>;
                    readonly consumption: OptionalAttribute<number, any>;
                    readonly totalConsumption: OptionalAttribute<number, any>;
                    readonly energyUnknown: OptionalAttribute<number, any>;
                    readonly childLock: OptionalWritableAttribute<boolean, any>;
                    readonly rLoc: Attribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly eveWeather: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly rLoc: Attribute<number, any>;
                    readonly elevation: OptionalWritableAttribute<number, any>;
                    readonly airPressure: OptionalAttribute<number, any>;
                    readonly weatherTrend: OptionalAttribute<number, any>;
                    readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly eveRoom: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly rLoc: Attribute<number, any>;
                    readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
                };
            };
        }];
    };
    const ClusterInstance: MutableCluster<{
        readonly id: 319486977;
        readonly name: "EveHistory";
        readonly revision: 1;
        readonly features: {
            readonly eveDoor: BitFlag;
            readonly eveMotion: BitFlag;
            readonly eveEnergy: BitFlag;
            readonly eveWeather: BitFlag;
            readonly eveRoom: BitFlag;
        };
        readonly attributes: {
            readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly timesOpened: OptionalAttribute<number, any>;
            readonly lastEvent: OptionalAttribute<number, any>;
            readonly resetTotal: OptionalWritableAttribute<number, any>;
            readonly voltage: OptionalAttribute<number, any>;
            readonly current: OptionalAttribute<number, any>;
            readonly consumption: OptionalAttribute<number, any>;
            readonly totalConsumption: OptionalAttribute<number, any>;
            readonly energyUnknown: OptionalAttribute<number, any>;
            readonly motionSensitivity: OptionalWritableAttribute<number, any>;
            readonly childLock: OptionalWritableAttribute<boolean, any>;
            readonly rLoc: Attribute<number, any>;
            readonly elevation: OptionalWritableAttribute<number, any>;
            readonly airPressure: OptionalAttribute<number, any>;
            readonly weatherTrend: OptionalAttribute<number, any>;
            readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
        };
        readonly extensions: readonly [{
            readonly flags: {
                readonly eveDoor: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly lastEvent: OptionalAttribute<number, any>;
                    readonly timesOpened: OptionalAttribute<number, any>;
                    readonly resetTotal: OptionalWritableAttribute<number, any>;
                    readonly rLoc: Attribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly eveMotion: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly lastEvent: OptionalAttribute<number, any>;
                    readonly motionSensitivity: OptionalWritableAttribute<number, any>;
                    readonly rLoc: Attribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly eveEnergy: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly lastEvent: OptionalAttribute<number, any>;
                    readonly resetTotal: OptionalWritableAttribute<number, any>;
                    readonly voltage: OptionalAttribute<number, any>;
                    readonly current: OptionalAttribute<number, any>;
                    readonly consumption: OptionalAttribute<number, any>;
                    readonly totalConsumption: OptionalAttribute<number, any>;
                    readonly energyUnknown: OptionalAttribute<number, any>;
                    readonly childLock: OptionalWritableAttribute<boolean, any>;
                    readonly rLoc: Attribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly eveWeather: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly rLoc: Attribute<number, any>;
                    readonly elevation: OptionalWritableAttribute<number, any>;
                    readonly airPressure: OptionalAttribute<number, any>;
                    readonly weatherTrend: OptionalAttribute<number, any>;
                    readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
                };
            };
        }, {
            readonly flags: {
                readonly eveRoom: true;
            };
            readonly component: {
                readonly attributes: {
                    readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
                    readonly rLoc: Attribute<number, any>;
                    readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
                };
            };
        }];
    }, []>;
    interface Cluster extends Identity<typeof ClusterInstance> {
    }
    const Cluster: Cluster;
    const CompleteInstance: MutableCluster<{
        readonly id: import("matterbridge/matter").Branded<319486977, "ClusterId">;
        readonly name: "EveHistory";
        readonly revision: 1;
        readonly features: {
            readonly eveDoor: BitFlag;
            readonly eveMotion: BitFlag;
            readonly eveEnergy: BitFlag;
            readonly eveWeather: BitFlag;
            readonly eveRoom: BitFlag;
        };
        readonly attributes: {
            readonly configDataGet: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly configDataSet: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyStatus: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyEntries: Attribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historyRequest: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly historySetTime: WritableAttribute<Uint8Array<ArrayBufferLike>, any>;
            readonly timesOpened: OptionalAttribute<number, any>;
            readonly lastEvent: OptionalAttribute<number, any>;
            readonly resetTotal: OptionalWritableAttribute<number, any>;
            readonly voltage: OptionalAttribute<number, any>;
            readonly current: OptionalAttribute<number, any>;
            readonly consumption: OptionalAttribute<number, any>;
            readonly totalConsumption: OptionalAttribute<number, any>;
            readonly energyUnknown: OptionalAttribute<number, any>;
            readonly motionSensitivity: OptionalWritableAttribute<number, any>;
            readonly childLock: OptionalWritableAttribute<boolean, any>;
            readonly rLoc: Attribute<number, any>;
            readonly elevation: OptionalWritableAttribute<number, any>;
            readonly airPressure: OptionalAttribute<number, any>;
            readonly weatherTrend: OptionalAttribute<number, any>;
            readonly temperatureDisplayUnits: OptionalWritableAttribute<number, any>;
            readonly clusterRevision: Attribute<number, never>;
            readonly featureMap: Attribute<import("matterbridge/matter/types").TypeFromPartialBitSchema<{
                readonly eveDoor: BitFlag;
                readonly eveMotion: BitFlag;
                readonly eveEnergy: BitFlag;
                readonly eveWeather: BitFlag;
                readonly eveRoom: BitFlag;
            }>, never>;
            readonly attributeList: Attribute<import("matterbridge/matter").AttributeId[], never>;
            readonly acceptedCommandList: Attribute<import("matterbridge/matter").CommandId[], never>;
            readonly generatedCommandList: Attribute<import("matterbridge/matter").CommandId[], never>;
        };
    }, []>;
    interface Complete extends Identity<typeof CompleteInstance> {
    }
    const Complete: Complete;
}
export type EveHistoryCluster = EveHistory.Cluster;
export declare const EveHistoryCluster: EveHistory.Cluster;
//# sourceMappingURL=eveHistoryCluster.d.ts.map