import type { Context, FindConfig, ModuleJoinerConfig } from "@medusajs/framework/types"; import { AttributeType } from "@mercurjs/types"; declare const ProductAttributeModuleService_base: import("@medusajs/framework/utils").MedusaServiceReturnType; handle: import("@medusajs/framework/utils").NullableModifier; name: import("@medusajs/framework/utils").TextProperty; description: import("@medusajs/framework/utils").NullableModifier; type: import("@medusajs/framework/utils").EnumProperty; is_required: import("@medusajs/framework/utils").BooleanProperty; is_filterable: import("@medusajs/framework/utils").BooleanProperty; is_variant_axis: import("@medusajs/framework/utils").BooleanProperty; rank: import("@medusajs/framework/utils").NumberProperty; is_active: import("@medusajs/framework/utils").BooleanProperty; created_by: import("@medusajs/framework/utils").NullableModifier; product_id: import("@medusajs/framework/utils").NullableModifier; product_option_id: import("@medusajs/framework/utils").NullableModifier; metadata: import("@medusajs/framework/utils").NullableModifier, import("@medusajs/framework/utils").JSONProperty>; values: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity; handle: import("@medusajs/framework/utils").NullableModifier; name: import("@medusajs/framework/utils").TextProperty; rank: import("@medusajs/framework/utils").NumberProperty; is_active: import("@medusajs/framework/utils").BooleanProperty; metadata: import("@medusajs/framework/utils").NullableModifier, import("@medusajs/framework/utils").JSONProperty>; product_option_value_id: import("@medusajs/framework/utils").NullableModifier; attribute: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity, "ProductAttribute">, undefined>; }>, "ProductAttributeValue">>; }>, "ProductAttribute">; readonly ProductAttributeValue: import("@medusajs/framework/utils").DmlEntity; handle: import("@medusajs/framework/utils").NullableModifier; name: import("@medusajs/framework/utils").TextProperty; rank: import("@medusajs/framework/utils").NumberProperty; is_active: import("@medusajs/framework/utils").BooleanProperty; metadata: import("@medusajs/framework/utils").NullableModifier, import("@medusajs/framework/utils").JSONProperty>; product_option_value_id: import("@medusajs/framework/utils").NullableModifier; attribute: import("@medusajs/framework/utils").BelongsTo<() => import("@medusajs/framework/utils").DmlEntity; handle: import("@medusajs/framework/utils").NullableModifier; name: import("@medusajs/framework/utils").TextProperty; description: import("@medusajs/framework/utils").NullableModifier; type: import("@medusajs/framework/utils").EnumProperty; is_required: import("@medusajs/framework/utils").BooleanProperty; is_filterable: import("@medusajs/framework/utils").BooleanProperty; is_variant_axis: import("@medusajs/framework/utils").BooleanProperty; rank: import("@medusajs/framework/utils").NumberProperty; is_active: import("@medusajs/framework/utils").BooleanProperty; created_by: import("@medusajs/framework/utils").NullableModifier; product_id: import("@medusajs/framework/utils").NullableModifier; product_option_id: import("@medusajs/framework/utils").NullableModifier; metadata: import("@medusajs/framework/utils").NullableModifier, import("@medusajs/framework/utils").JSONProperty>; values: import("@medusajs/framework/utils").HasMany<() => import("@medusajs/framework/utils").DmlEntity, "ProductAttributeValue">>; }>, "ProductAttribute">, undefined>; }>, "ProductAttributeValue">; }>>; declare class ProductAttributeModuleService extends ProductAttributeModuleService_base { __joinerConfig(): ModuleJoinerConfig; createProductAttributes(data: T, sharedContext?: Context): Promise; updateProductAttributes(data: T, sharedContext?: Context): Promise; private static readonly VALUE_TYPES; private wantsValues; private stripValuesFromConfig; private deriveValueConfig; private attachValues; listProductAttributes(filters?: any, config?: FindConfig, sharedContext?: Context): Promise; listAndCountProductAttributes(filters?: any, config?: FindConfig, sharedContext?: Context): Promise<[any[], number]>; createProductAttributeValues(data: T, sharedContext?: Context): Promise; } export default ProductAttributeModuleService;