import { Entity } from '@reltio/mdm-sdk';
interface SearchProvider {
    checkEntity: (uri: string) => Promise<boolean>;
    requestEntities: (max: number, offset: number) => Promise<Entity[]>;
    requestTotal: () => Promise<number>;
}
declare class MainSearchProvider implements SearchProvider {
    private readonly query;
    private readonly sortField;
    private readonly sortOrder;
    private readonly tenant;
    private readonly searchTenant;
    private readonly apiPath;
    private readonly dtssPath;
    private readonly globalSearchRequestOptions;
    constructor({ data: { query, sortField, sortOrder }, tenant, searchTenant, apiPath, dtssPath, globalSearchRequestOptions }: {
        data: {
            query: any;
            sortField: any;
            sortOrder: any;
        };
        tenant: any;
        searchTenant: any;
        apiPath: any;
        dtssPath: any;
        globalSearchRequestOptions: any;
    });
    private isDT;
    private getQueryFilter;
    private getEntities;
    checkEntity: (uri: any) => Promise<boolean>;
    requestEntities: (max: any, offset: any) => Promise<Entity[]>;
    requestTotal: () => Promise<number>;
}
declare class GraphSearchProvider implements SearchProvider {
    private readonly searchBody;
    private readonly tenant;
    private readonly apiPath;
    constructor({ data, tenant, apiPath }: {
        data: any;
        tenant: any;
        apiPath: any;
    });
    private getEntities;
    checkEntity: (uri: any) => Promise<boolean>;
    requestEntities: (max: any, from: any) => Promise<Entity[]>;
    requestTotal: () => Promise<number>;
}
export declare const getSearchProvider: (type: string, options: any) => MainSearchProvider | GraphSearchProvider;
export {};
