1import type { ExecuteResponse, RequesterDescription, TransformResponse } from '@algolia/autocomplete-preset-algolia';
2import { MultipleQueriesQuery, SearchForFacetValuesResponse, SearchResponse } from '@algolia/client-search';
3import { BaseItem, InternalAutocompleteSource } from './types';
4declare type RequestDescriptionPreResolved<TItem extends BaseItem> = Pick<RequesterDescription<TItem>, 'execute' | 'searchClient' | 'transformResponse'> & {
5    requests: Array<{
6        query: MultipleQueriesQuery;
7        sourceId: string;
8        transformResponse: TransformResponse<TItem>;
9    }>;
10};
11declare type RequestDescriptionPreResolvedCustom<TItem extends BaseItem> = {
12    items: TItem[] | TItem[][];
13    sourceId: string;
14    transformResponse?: undefined;
15};
16export declare function preResolve<TItem extends BaseItem>(itemsOrDescription: TItem[] | TItem[][] | RequesterDescription<TItem>, sourceId: string): RequestDescriptionPreResolved<TItem> | RequestDescriptionPreResolvedCustom<TItem>;
17export declare function resolve<TItem extends BaseItem>(items: Array<RequestDescriptionPreResolved<TItem> | RequestDescriptionPreResolvedCustom<TItem>>): Promise<(RequestDescriptionPreResolvedCustom<TItem> | {
18    items: SearchForFacetValuesResponse | SearchResponse<TItem>;
19    sourceId: string;
20    transformResponse: TransformResponse<TItem>;
21})[]>;
22export declare function postResolve<TItem extends BaseItem>(responses: Array<RequestDescriptionPreResolvedCustom<TItem> | ExecuteResponse<TItem>[0]>, sources: Array<InternalAutocompleteSource<TItem>>): {
23    source: InternalAutocompleteSource<TItem>;
24    items: {
25        label: string;
26        count: number;
27        _highlightResult: {
28            label: {
29                value: string;
30            };
31        };
32    }[][] | {
33        label: string;
34        count: number;
35        _highlightResult: {
36            label: {
37                value: string;
38            };
39        };
40    }[] | import("@algolia/client-search").Hit<TItem>[] | (SearchForFacetValuesResponse | SearchResponse<TItem> | TItem[] | TItem[][])[];
41}[];
42export {};
43