import { SearchClient, AlgoliaSearchOptions } from 'algoliasearch'; import { RequestOptions } from '@algolia/transporter'; import { SearchOptions, SearchResponse, MultipleQueriesResponse, Hit } from '@algolia/client-search'; import { Ref } from '@vue/composition-api'; export declare function createAlgoliaClient(appId: string, apiKey: string, options?: AlgoliaSearchOptions): SearchClient; export declare function setDefaultAlgoliaClient(client: SearchClient): void; export declare function getDefaultAlgoliaClient(): SearchClient; export declare type QueryOptions = RequestOptions & SearchOptions; export interface UseSearchOptions { skipEmptyQuery?: boolean; skipSSR?: boolean; } export interface UseSearchReturn { searchText: Ref; result: Ref; allResults: Ref; page: Ref; loading: Ref; error: Ref; search: () => Promise; } export declare function useSearch(indexName: string, queryParameters: QueryOptions | Ref, defaultQueryParameters: QueryOptions, algoliaClient: SearchClient, options: UseSearchOptions): UseSearchReturn>; export declare function useSearch(indexName: string, queryParameters: QueryOptions[] | Ref, defaultQueryParameters: QueryOptions, algoliaClient: SearchClient, options: UseSearchOptions): UseSearchReturn>; export declare function combineMultiQueryResults(rawResult: SearchResponse | MultipleQueriesResponse, distinctKey: string): { hits: Hit[]; };