import { TAttribute, TAttributeInput, TBaseFilter, TDeleteManyInput, TPagedList, TPagedParams } from '@cromwell/core'; import { SelectQueryBuilder } from 'typeorm'; import { AttributeToProduct } from '../models/entities/attribute-product.entity'; import { AttributeValue } from '../models/entities/attribute-value.entity'; import { Attribute } from '../models/entities/attribute.entity'; import { Product } from '../models/entities/product.entity'; import { BaseRepository } from './base.repository'; export declare class AttributeRepository extends BaseRepository { constructor(); getAttributes(params?: TPagedParams): Promise>; getAttribute(id: number): Promise; getAttributeByKey(key: string): Promise; getAttributeInstancesOfProduct(productId: number): Promise; addAttributeValueToProduct(product: Product, value: AttributeValue): Promise; handleAttributeInput(attribute: Attribute, input: TAttributeInput, action: 'update' | 'create'): Promise; createAttribute(createAttribute: TAttributeInput, id?: number | null): Promise; updateAttribute(id: number, updateAttribute: TAttributeInput): Promise; deleteAttribute(id: number): Promise; applyAttributeFilter(qb: SelectQueryBuilder, filterParams?: TBaseFilter): SelectQueryBuilder; getFilteredAttributes(pagedParams?: TPagedParams, filterParams?: TBaseFilter): Promise>; deleteManyFilteredAttributes(input: TDeleteManyInput, filterParams?: TBaseFilter): Promise; } //# sourceMappingURL=attribute.repository.d.ts.map