import { FieldDataType, Parameter } from './fields/field';
export declare const OnOffCapability: "on_off";
export declare const ToggleCapability: "toggle";
export declare const ColorSettingCapability: "color_setting";
export declare const ModeCapability: "mode";
export declare const RangeCapability: "range";
export declare const WorkModeCapability: "work_mode";
export declare const SegmentColorSettingCapability: "segment_color_setting";
export declare const DynamicSceneCapability: "dynamic_scene";
export declare const MusicSettingCapability: "music_setting";
export declare const TemperatureSettingCapability: "temperature_setting";
export declare const EventCapability: "event";
export type OpenAPICapabilities = typeof OnOffCapability | typeof ToggleCapability | typeof ColorSettingCapability | typeof ModeCapability | typeof RangeCapability | typeof WorkModeCapability | typeof SegmentColorSettingCapability | typeof DynamicSceneCapability | typeof MusicSettingCapability | typeof TemperatureSettingCapability | typeof EventCapability;
export type OpenAPICapability<Cap extends OpenAPICapabilities> = `devices.capabilities.${Cap}`;
export declare class OpenAPIDeviceCapability<Cap extends OpenAPICapabilities, CapabilityKey = OpenAPICapability<Cap>> {
    type: CapabilityKey;
    instance: string;
    parameters: Parameter<FieldDataType>;
}
export declare class OpenAPIDeviceCapabilityState<Cap extends OpenAPICapabilities, CapabilityKey = OpenAPICapability<Cap>> {
    type: CapabilityKey;
    instance: string;
    rawValue: number | string | boolean | object;
}
//# sourceMappingURL=device-capabilities.d.ts.map