import type { SearchAssetType, SearchKind, SearchMode, SearchRequest, SearchResponse, SearchSuggestRequest, SearchSuggestResponse } from '@playdrop/types';
type ApiResponseLike<T> = {
    status: number;
    body: T;
    headers: Headers;
};
type RequestExecutor = <T>(input: {
    method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
    path: string;
    body?: unknown;
    headers?: Record<string, string>;
    signal?: AbortSignal;
}) => Promise<ApiResponseLike<T>>;
type ErrorHandler = (response: ApiResponseLike<unknown>, defaultMessage: string) => never;
export declare function buildSearchApiClientMethods(input: {
    request: RequestExecutor;
    handleApiError: ErrorHandler;
    normalizeSearchModeInput: (mode: SearchMode) => SearchMode;
    normalizeSearchKindInput: (kind: SearchKind) => SearchKind;
    normalizeSearchAssetTypeInput: (assetType: SearchAssetType) => SearchAssetType;
    normalizePositiveIntegerInput: (value: number, errorCode: string) => number;
}): {
    search(searchRequest: SearchRequest): Promise<SearchResponse>;
    suggestSearch(searchRequest: SearchSuggestRequest): Promise<SearchSuggestResponse>;
};
export {};
//# sourceMappingURL=search.d.ts.map