import type { UmbPropertyGuardRule } from './property-guard.manager.js'; import type { UmbVariantId } from '../../variant/index.js'; import type { Observable } from '../../../../libs/observable-api/index.js'; import type { UmbReferenceByUnique } from '../../models/index.js'; import { UmbGuardManagerBase } from '../../utils/index.js'; export interface UmbVariantPropertyGuardRule extends UmbPropertyGuardRule { /** * @description - The variant id of the property. * @type {UmbVariantId} * @memberof UmbVariantPropertyGuardRule */ variantId?: UmbVariantId; /** * @description - The variant id of the dataset. This is used to determine if the rule applies to the current dataset. * @type {UmbVariantId} * @memberof UmbVariantPropertyGuardRule */ datasetVariantId?: UmbVariantId; } /** * UmbVariantPropertyGuardManager is a class that manages the rules for variant properties. * @export * @class UmbVariantPropertyGuardManager * @augments {UmbGuardManagerBase} */ export declare class UmbVariantPropertyGuardManager extends UmbGuardManagerBase { #private; /** * Checks if the variant and propertyType is permitted. * @param {UmbVariantId} propertyVariantId - The variant id to check. * @param {UmbReferenceByUnique} propertyType - The property type to check. * @param {UmbVariantId} datasetVariantId - The dataset variant id to check. * @returns {Observable} - Returns an observable that emits true if the variant and propertyType is permitted, false otherwise. * @memberof UmbVariantPropertyGuardManager */ isPermittedForVariantAndProperty(propertyVariantId: UmbVariantId, propertyType: UmbReferenceByUnique, datasetVariantId: UmbVariantId): Observable; /** * Checks if the variant and propertyType is permitted. * @param {UmbVariantId} propertyVariantId - The variant id to check. * @param {UmbReferenceByUnique} propertyType - The property type to check. * @param {UmbVariantId} datasetVariantId - The dataset variant id to check. * @returns {boolean} - Returns true if the variant and propertyType is permitted, false otherwise. * @memberof UmbVariantPropertyGuardManager */ getIsPermittedForVariantAndProperty(propertyVariantId: UmbVariantId, propertyType: UmbReferenceByUnique, datasetVariantId: UmbVariantId): boolean; }