import { Criteria, Domain } from '../Model'; import { Filter } from '../../header/FilterProvider'; interface SearchProps { model: string; criteria?: Criteria[]; domain?: string; domainContext?: any; fieldKey: string; sortKey?: string; page: number; numberElementsByPage?: number; provider?: 'axios' | 'model'; companyId?: number; isCompanyM2M?: boolean; companyFieldName?: string; companySetFieldName?: string; filter?: Filter; } interface HierarchicalSearchProps extends SearchProps { parentField: string; parentId: number; } interface FetchProps { model: string; fieldKey: string; id: number; relatedFields?: any; provider?: 'axios' | 'model'; } declare class RequestBuilder { private requestLimit; constructor(); init(defaultRequestLimit: number): void; getRequestLimit(): number; createStandardSearch: ({ model, criteria, domain, domainContext, fieldKey, sortKey, page, numberElementsByPage, provider, companyId, isCompanyM2M, companyFieldName, companySetFieldName, filter, }: SearchProps) => Promise; private getIdsHierarchicalSearch; createHierarchicalSearch: ({ parentField, parentId, criteria, ...props }: HierarchicalSearchProps) => Promise; createStandardFetch: ({ model, fieldKey, id, relatedFields, provider, }: FetchProps) => Promise; } export declare const requestBuilder: RequestBuilder; export declare const getCompanyCriteria: (companyId: number, companyFieldName?: string) => Criteria; export declare function getFilterDomains(model: string, filter?: Filter): { domains?: { type: string; name: string; domain: string; title: string; }[]; domainContext?: any; criteria?: Criteria[]; }; export declare const getCompanyDomain: (companyId: number, companySetFieldName?: string) => Domain; export declare const createStandardSearch: (searchOptions: SearchProps) => Promise; export declare const createHierarchicalSearch: (searchOptions: HierarchicalSearchProps) => Promise; export declare const createStandardFetch: (fetchOptions: FetchProps) => Promise; export {};