import { CustomQuery, ProductsSearchParams, UseProduct, Context, FactoryParams, PlatformApi } from '../types';
export interface UseProductFactoryParams<PRODUCTS, PRODUCT_SEARCH_PARAMS extends ProductsSearchParams, API extends PlatformApi = any> extends FactoryParams<API> {
    productsSearch: (context: Context, params: PRODUCT_SEARCH_PARAMS & {
        customQuery?: CustomQuery;
    }) => Promise<PRODUCTS>;
}
export declare function useProductFactory<PRODUCTS, PRODUCT_SEARCH_PARAMS extends ProductsSearchParams, API extends PlatformApi = any>(factoryParams: UseProductFactoryParams<PRODUCTS, PRODUCT_SEARCH_PARAMS, API>): (id: string) => UseProduct<PRODUCTS, PRODUCT_SEARCH_PARAMS, API>;
