import type { BillingEntityCategoryMappingConfig, BillingEntityConfig } from '../config/billing.js'; import type { ModelComponent, ValidationContext } from '../validation/validation-context.js'; import { FieldPath } from './field-path.js'; import type { Field } from './field.js'; import type { Model } from './model.js'; import type { RootEntityType } from './root-entity-type.js'; 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; }