import type { AuthQueryKeys } from "../auth/types";
import type { CartQueryKeys } from "../cart/types";
import type { MedusaCatalogListInput } from "../catalog/medusa-service";
import type { CatalogQueryKeys } from "../catalog/types";
import type { MedusaCategoryDetailInput, MedusaCategoryListInput } from "../categories/medusa-service";
import type { CategoryQueryKeys } from "../categories/types";
import type { CheckoutQueryKeys } from "../checkout/types";
import type { MedusaCollectionDetailInput, MedusaCollectionListInput } from "../collections/medusa-service";
import type { CollectionQueryKeys } from "../collections/types";
import type { MedusaCustomerListInput } from "../customers/medusa-service";
import type { CustomerQueryKeys } from "../customers/types";
import type { MedusaOrderDetailInput, MedusaOrderListInput } from "../orders/medusa-service";
import type { OrderQueryKeys } from "../orders/types";
import type { MedusaProductAttributesInput } from "../product-attributes/medusa-service";
import type { ProductAttributeQueryKeys } from "../product-attributes/types";
import type { MedusaProductListDetailKeyInput, MedusaProductListListKeyInput } from "../product-lists/medusa-service";
import type { ProductListQueryKeys } from "../product-lists/types";
import type { MedusaProductLocationAvailabilityInput } from "../product-location-availability/medusa-service";
import type { ProductLocationAvailabilityQueryKeys } from "../product-location-availability/types";
import type { MedusaProductDetailInput, MedusaProductListInput } from "../products/medusa-service";
import type { ProductQueryKeys } from "../products/types";
import type { MedusaRegionDetailInput, MedusaRegionListInput } from "../regions/medusa-service";
import type { RegionQueryKeys } from "../regions/types";
import type { MedusaProductReviewListInput } from "../reviews/medusa-service";
import type { ProductReviewQueryKeys } from "../reviews/types";
import { type CacheConfig } from "../shared/cache-config";
import type { QueryNamespace } from "../shared/query-keys";
export type MedusaStorefrontQueryKeys = {
    auth: AuthQueryKeys;
    cart: CartQueryKeys;
    checkout: CheckoutQueryKeys;
    products: ProductQueryKeys<MedusaProductListInput, MedusaProductDetailInput>;
    productLists: ProductListQueryKeys<MedusaProductListListKeyInput, MedusaProductListDetailKeyInput>;
    productAttributes: ProductAttributeQueryKeys<MedusaProductAttributesInput>;
    productLocationAvailability: ProductLocationAvailabilityQueryKeys<MedusaProductLocationAvailabilityInput>;
    orders: OrderQueryKeys<MedusaOrderListInput, MedusaOrderDetailInput>;
    customers: CustomerQueryKeys<MedusaCustomerListInput>;
    regions: RegionQueryKeys<MedusaRegionListInput, MedusaRegionDetailInput>;
    categories: CategoryQueryKeys<MedusaCategoryListInput, MedusaCategoryDetailInput>;
    collections: CollectionQueryKeys<MedusaCollectionListInput, MedusaCollectionDetailInput>;
    catalog: CatalogQueryKeys<MedusaCatalogListInput>;
    reviews: ProductReviewQueryKeys<MedusaProductReviewListInput>;
};
export type MedusaStorefrontFoundationConfig = {
    queryKeyNamespace?: QueryNamespace;
    cacheConfig?: CacheConfig;
};
export declare function createMedusaStorefrontQueryKeys(namespace: QueryNamespace): MedusaStorefrontQueryKeys;
export declare function resolveMedusaStorefrontFoundation(config: MedusaStorefrontFoundationConfig): {
    namespace: QueryNamespace;
    cacheConfig: CacheConfig;
    defaultQueryKeys: MedusaStorefrontQueryKeys;
};
//# sourceMappingURL=foundation.d.ts.map