import { BillingEntityCategoryMappingConfig, BillingEntityConfig } from '../config/billing'; import { ModelComponent, ValidationContext } from '../validation/validation-context'; import { Field } from './field'; import { FieldPath } from './field-path'; import { Model } from './model'; import { RootEntityType } from './root-entity-type'; export declare class BillingEntityType implements ModelComponent { readonly input: BillingEntityConfig; readonly model: Model; readonly quantityFieldPath: FieldPath | undefined; readonly categoryMappingFieldPath: FieldPath | undefined; constructor(input: BillingEntityConfig, model: Model); validate(context: ValidationContext): void; private validateQuantityField; private validateCategory; get rootEntityType(): RootEntityType | undefined; get billingKeyField(): Field | undefined; get typeName(): string; get keyFieldName(): string | undefined; get category(): string | undefined; get categoryMapping(): BillingEntityCategoryMappingConfig | undefined; }