import { Operator } from '../classes/form-schema';
export declare class GridInfo {
    fields?: string;
    filters: Filter[];
    sorts: Sort[];
    includes?: Include[];
    pageInfo: PageInfo;
    getFilterValue?(field: any, removeFilter?: boolean): string;
    modifyFilter?(field: any, funcModify: (filter: Filter) => void): Promise<void>;
    constructor(init?: GridInfo);
}
export declare class PageInfo {
    page: number;
    pageSize: number;
    constructor(init?: PageInfo);
}
export declare class Include {
    field: string;
    thenInclude?: Include;
    filters?: Filter[];
    constructor(init: Include);
}
export declare class Sort {
    field: string;
    dir: number;
    constructor(init?: Sort);
}
export declare class Filter {
    field?: string;
    logic?: 'or' | 'and';
    sourceField?: string;
    subField?: string | number;
    funcGetValue?: (item: any) => any;
    isArrayField?: boolean;
    value?: string;
    valueIsField?: boolean;
    operator?: Operator;
    filters?: Filter[];
    stringCompareOption?: StringCompareOption;
    constructor(init?: Filter);
    convertFilterForArrayField?(field?: string): void;
}
export declare enum StringCompareOption {
    Normal = 0,
    FreeText = 1,
    IgnoreCase = 2
}
//# sourceMappingURL=grid-info.d.ts.map