import type { CacheConfig } from "../shared/cache-config";
import type { ReadQueryOptions } from "../shared/hook-types";
import type { QueryNamespace } from "../shared/query-keys";
import { type ProductLocationAvailabilityQueryOptionsFactory } from "./query-options";
import type { ProductLocationAvailabilityInputBase, ProductLocationAvailabilityQueryKeys, ProductLocationAvailabilityService, UseProductLocationAvailabilityResult } from "./types";
export type CreateProductLocationAvailabilityHooksConfig<TResponse, TInput extends ProductLocationAvailabilityInputBase, TParams> = {
    service: ProductLocationAvailabilityService<TResponse, TParams>;
    buildDetailParams?: (input: TInput) => TParams;
    queryKeys?: ProductLocationAvailabilityQueryKeys<TParams>;
    queryKeyNamespace?: QueryNamespace;
    cacheConfig?: CacheConfig;
};
export type ProductLocationAvailabilityHooks<TResponse, TInput extends ProductLocationAvailabilityInputBase> = {
    getDetailQueryOptions: ProductLocationAvailabilityQueryOptionsFactory<TResponse, TInput>["getDetailQueryOptions"];
    useProductLocationAvailability: (input: TInput, options?: {
        queryOptions?: ReadQueryOptions<TResponse>;
    }) => UseProductLocationAvailabilityResult<TResponse>;
};
export declare function createProductLocationAvailabilityHooks<TResponse, TInput extends ProductLocationAvailabilityInputBase, TParams>({ service, buildDetailParams, queryKeys, queryKeyNamespace, cacheConfig, }: CreateProductLocationAvailabilityHooksConfig<TResponse, TInput, TParams>): ProductLocationAvailabilityHooks<TResponse, TInput>;
//# sourceMappingURL=hooks.d.ts.map