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