import type { ICache } from '../cache';
export interface ISearchParams {
    [key: string]: any;
    q?: string;
    type?: string | string[];
    platform?: string;
    pageNumber?: number;
    pageSize?: number;
    allowShortQuery?: 'true' | undefined;
}
export interface ISearchResults<T extends ISearchResult> {
    results: T[];
    pageNumber?: number;
    pageSize?: number;
    platform?: string;
    query?: string;
    totalMatches?: number;
}
export interface ISearchResult {
    displayName?: string;
    href?: string;
    provider: string;
    type: string;
}
export declare class SearchService {
    static get DEFAULT_PAGE_SIZE(): number;
    static search<T extends ISearchResult>(searchParams: ISearchParams, cache?: ICache): PromiseLike<ISearchResults<T>>;
}
