import { OdataEntityType } from './entitytype'; import { OdataCommands } from './commands'; export interface IFilterOperation { } export declare type IFilterable = { [P in keyof T]: T[P] & IFilterOperation>; }; export declare class OdataFilterOperation { private command; private entitytype; private query; private openedBrakets; private entity; constructor(command: OdataCommands, entitytype: OdataEntityType); private CreateField(prop, from, extend); private InitProperties(entityType, entity, from); private init(); private wrap(value); Begin(concat?: 'and' | 'or'): OdataFilterOperation; AndBegin(): OdataFilterOperation; OrBegin(): OdataFilterOperation; End(): OdataFilterOperation; Where(value: T, concat?: 'and' | 'or'): OdataFilterOperation; Where(predicate: (entity: T) => any, concat?: 'and' | 'or'): OdataFilterOperation; AndWhere(predicate: (entity: T) => any): OdataFilterOperation; AndWhere(value: any): OdataFilterOperation; OrWhere(predicate: (entity: T) => any): OdataFilterOperation; OrWhere(value: any): OdataFilterOperation; Add(predicate: (entity: T) => any): OdataFilterOperation; Add(value: number): OdataFilterOperation; Subtract(predicate: (entity: T) => any): OdataFilterOperation; Subtract(value: number): OdataFilterOperation; Multiply(predicate: (entity: T) => any): OdataFilterOperation; Multiply(value: number): OdataFilterOperation; Div(predicate: (entity: T) => any): OdataFilterOperation; Div(value: number): OdataFilterOperation; Mod(predicate: (entity: T) => any): OdataFilterOperation; Mod(value: number): OdataFilterOperation; GreaterThan(predicate: (entity: T) => any): OdataFilterOperation; GreaterThan(value: any): OdataFilterOperation; GreaterThanOrEqual(predicate: (entity: T) => any): OdataFilterOperation; GreaterThanOrEqual(value: any): OdataFilterOperation; LessThan(predicate: (entity: T) => any): OdataFilterOperation; LessThan(value: any): OdataFilterOperation; LessThanOrEqual(predicate: (entity: T) => any): OdataFilterOperation; LessThanOrEqual(value: any): OdataFilterOperation; Equal(predicate: (entity: T) => any): OdataFilterOperation; Equal(value: any): OdataFilterOperation; NotEqual(predicate: (entity: T) => any): OdataFilterOperation; NotEqual(value: any): OdataFilterOperation; Not(predicate: (entity: T) => any): OdataFilterOperation; Not(value: any): OdataFilterOperation; Contains(str: ((entity: T) => any) | string, search: ((entity: T) => any) | string): OdataFilterOperation; Or(): OdataFilterOperation; And(): OdataFilterOperation; Raw(command: string): OdataFilterOperation; Finish(): TReturn; }