/** * Important: * --------------- * Model files should not use external imports except for other model files. * Other model files should also be imported directly not via their module * this can otherwise cause issue with ts-to-json-schema conversions in certain scenarios * */ import { DeviceAttributes, NodeAttributes, PropertyAttributes } from "./Base.model"; import { Primitive } from "./RXObject.model"; export declare const ConditionOperators: readonly ["=", ">", "<", ">=", "<=", "<>", "includes", "includesAny", "includesAll", "includesNone", "matchAlways"]; export declare type ConditionOperator = typeof ConditionOperators[number]; export interface ValueOperatorCondition { operator: ConditionOperator; value?: T | T[]; } export declare function isValueOperatorCondition(object: any): object is ValueOperatorCondition; export declare type ValueCondition = T | T[] | ValueOperatorCondition; export declare type BaseRXObjectCondition = { [P in keyof T]?: ValueCondition; }; export declare type RXObjectQuery = Primitive | BaseRXObjectCondition | undefined | null; export interface Query { device?: DeviceQuery; node?: NodeQuery; property?: PropertyQuery; } export declare type DeviceQuery = RXObjectQuery; export declare type NodeQuery = RXObjectQuery; export declare type PropertyQuery = RXObjectQuery;