/** * @internal */ export type Serialiser = (e: Expression) => string; /** * @internal */ export type CriteriaSegmentedControlOption = { field: string; value: unknown; serialiser: Serialiser; label: string; }; /** * @internal */ export type Expression = { field: string; value: unknown; serialiser: Serialiser; params: any; valueGetter?: (value: unknown) => string; group: string; }; type ExpressionValueType = number | string | boolean | undefined | null | Function; /** * @internal */ export type ExpressionParams = [ string | string[], Serialiser, ExpressionValueType | ExpressionValueType[], boolean?, GroupName? ]; /** * Interface for fields to implement to generate expression criteria * @public */ export type ExpressionConfig = { criteria: (value: V, filters: T) => ExpressionParams | Array>; }; /** * Maps form fields to expression configuration * @public */ export type ExpressionConfigMap = Partial<{ [key in keyof T]: ExpressionConfig; }>; /** * @internal */ export declare enum Operator { AND = "&&", OR = "||", NOT = "!", GT = ">", GE = ">=", LT = "<", LE = "<=", NE = "!=", EQ = "==" } /** * Used to describe how Expressions are joined * @public */ export declare class Join { private $$operator; constructor(type: Operator); static And(): Join; static Or(): Join; static Not(): Join; static GreaterThan(): Join; static GreaterThanOrEqual(): Join; static LessThan(): Join; static LessThanOrEqual(): Join; static NotEqual(): Join; static Equal(): Join; get operator(): Operator; } /** * @internal */ export type ExpressionList = Array; export {}; //# sourceMappingURL=types.d.ts.map