import { FilterBuilder, IFilterLogicalOperatorBuilder } from "./FilterBuilder"; export interface IFilterOperatorBuilder { equals(value: T): IFilterLogicalOperatorBuilder; notEquals(value: T): IFilterLogicalOperatorBuilder; isNull(): IFilterLogicalOperatorBuilder; isNotNull(): IFilterLogicalOperatorBuilder; in(values: T[]): IFilterLogicalOperatorBuilder; notIn(values: T[]): IFilterLogicalOperatorBuilder; } export interface IComparableFilterOperatorBuilder extends IFilterOperatorBuilder { lessThan(value: T): IFilterLogicalOperatorBuilder; greaterThan(value: T): IFilterLogicalOperatorBuilder; lessThanOrEqual(value: T): IFilterLogicalOperatorBuilder; greaterThanOrEqual(value: T): IFilterLogicalOperatorBuilder; } export interface IIntFilterOperatorBuilder extends IComparableFilterOperatorBuilder { bitwiseAnd(value: number): IFilterLogicalOperatorBuilder; bitwiseNotAnd(value: number): IFilterLogicalOperatorBuilder; } export interface IFloatFilterOperatorBuilder extends IComparableFilterOperatorBuilder { } export interface ILongFilterOperatorBuilder extends IComparableFilterOperatorBuilder { } export interface IDateTimeFilterOperatorBuilder extends IComparableFilterOperatorBuilder { } export interface IDateTimeOffsetFilterOperatorBuilder extends IComparableFilterOperatorBuilder { } export interface IBooleanFilterOperatorBuilder extends IFilterOperatorBuilder { } export interface IStringFilterOperatorBuilder extends IFilterOperatorBuilder { like(value: string): IFilterLogicalOperatorBuilder; notLike(value: string): IFilterLogicalOperatorBuilder; } export declare class FilterOperatorBuilder implements IFilterOperatorBuilder { protected readonly filterBuilder: FilterBuilder; constructor(filterBuilder: FilterBuilder); equals(value: T): IFilterLogicalOperatorBuilder; notEquals(value: T): IFilterLogicalOperatorBuilder; notIn(values: T[]): IFilterLogicalOperatorBuilder; in(values: T[]): IFilterLogicalOperatorBuilder; isNull(): IFilterLogicalOperatorBuilder; isNotNull(): IFilterLogicalOperatorBuilder; } export declare class StringFilterOperatorBuilder extends FilterOperatorBuilder implements IStringFilterOperatorBuilder { like(value: string): IFilterLogicalOperatorBuilder; notLike(value: string): IFilterLogicalOperatorBuilder; } export declare class ComparableFilterOperatorBuilder extends FilterOperatorBuilder implements IComparableFilterOperatorBuilder { greaterThanOrEqual(value: T): IFilterLogicalOperatorBuilder; greaterThan(value: T): IFilterLogicalOperatorBuilder; lessThanOrEqual(value: T): IFilterLogicalOperatorBuilder; lessThan(value: T): IFilterLogicalOperatorBuilder; } export declare class IntFilterOperatorBuilder extends ComparableFilterOperatorBuilder implements IIntFilterOperatorBuilder { bitwiseAnd(value: number): IFilterLogicalOperatorBuilder; bitwiseNotAnd(value: number): IFilterLogicalOperatorBuilder; } export declare class FloatFilterOperatorBuilder extends ComparableFilterOperatorBuilder implements IFloatFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); } export declare class LongFilterOperatorBuilder extends ComparableFilterOperatorBuilder implements ILongFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); } export declare class DateTimeFilterOperatorBuilder extends ComparableFilterOperatorBuilder implements IDateTimeFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); } export declare class DateTimeOffsetFilterOperatorBuilder extends ComparableFilterOperatorBuilder implements IDateTimeOffsetFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); } export declare class BooleanFilterOperatorBuilder extends ComparableFilterOperatorBuilder implements IBooleanFilterOperatorBuilder { constructor(filterBuilder: FilterBuilder); }