export declare type FilterBuilderDataType = 'INT' | 'STRING' | 'LOOKUP' | 'DATE' | 'DATETIME' | 'USER' | 'BOOL'; export declare type FilterBuilderInputType = 'INT' | 'STRING' | 'LOOKUP' | 'DATE' | 'DATETIME' | 'DATERELATIVETYPE' | 'DATERANGETYPE' | 'USER' | 'BOOL' | 'SELFTYPE'; export declare enum FilterBuilderOperatorType { Between = "Between", Contains = "Contains", DoesNotContain = "DoesNotContain", EndsWith = "EndsWith", Equals = "Equals", GreaterThanEqual = "GreaterThanEqual", GreaterThan = "GreaterThan", LessThanEqual = "LessThanEqual", LessThan = "LessThan", NotEqual = "NotEqual", NotContains = "NotContains", StartsWith = "StartsWith", IsFalse = "IsFalse", IsTrue = "IsTrue", After = "After", AfterRelative = "AfterRelative", Before = "Before", Last = "Last", LastXDays = "LastXDays", LastXMonths = "LastXMonths", LastXYears = "LastXYears", Next = "Next", NextXDays = "NextXDays", NextXMonths = "NextXMonths", NextXYears = "NextXYears", On = "On", OnOrAfter = "OnOrAfter", OnOrBefore = "OnOrBefore", This = "This", Today = "Today", Tomorrow = "Tomorrow", Yesterday = "Yesterday", FirstQuarter = "FirstQuarter", SecondQuarter = "SecondQuarter", ThirdQuarter = "ThirdQuarter", FourthQuarter = "FourthQuarter", IsMe = "IsMe", In = "In", NotIn = "NotIn" } export declare type FilterBuilderFormatType = 'currency' | 'number' | 'date'; export declare type FilterBuilderSortDirectionType = 'ASC' | 'DESC'; export interface FilterBuilderLookupItem { text: string; value: string; } export interface FilterBuilderOperator { type: FilterBuilderOperatorType; label: string; supportedTypes: FilterBuilderDataType[]; value1Type?: FilterBuilderInputType; value2Type?: FilterBuilderInputType; value1Placeholder?: string; value2Placeholder?: string; customValueLabel?: string; } export interface FilterBuilderFilterField { dataType: FilterBuilderDataType; field: string; rawField?: string; label?: string; format?: FilterBuilderFormatType; lookupItems?: FilterBuilderLookupItem[]; allowSorting?: boolean; allowFiltering?: boolean; allowSingleLookupValue?: boolean; } export interface FilterBuilderFilterValue { field: string; operator: FilterBuilderOperatorType; value1?: string; value2?: string; dataType?: FilterBuilderDataType; } export interface FilterBuilderSortingValue { field: string; direction: FilterBuilderSortDirectionType; } export interface FilterBuilderFilterValueViewModel { field?: string; label?: string; operatorLabel?: string; value1?: string; value2?: string; display?: string; }