import { UmbReadOnlyGuardManager } from './readonly-guard.manager.js';
import type { UmbGuardRule } from './guard.manager.base.js';
import type { UmbVariantId } from '../../variant/index.js';
import { type Observable } from '../../../../libs/observable-api/index.js';
export interface UmbVariantGuardRule extends UmbGuardRule {
    variantId?: UmbVariantId;
}
/**
 * Read only guard manager for variant rules.
 * @export
 * @class UmbReadOnlyVariantGuardManager
 * @augments {UmbReadOnlyGuardManager<UmbVariantGuardRule>}
 */
export declare class UmbReadOnlyVariantGuardManager extends UmbReadOnlyGuardManager<UmbVariantGuardRule> {
    #private;
    /**
     * Observe if the given variantId is permitted to read
     * @param {UmbVariantId} variantId
     * @returns {Observable<boolean>} - Observable that emits true if the variantId is permitted to read, false otherwise
     * @memberof UmbReadOnlyVariantGuardManager
     */
    isPermittedForVariant(variantId: UmbVariantId): Observable<boolean>;
    /**
     * @param {Observable<UmbVariantId | undefined>} variantId
     * @returns {Observable<boolean>} - Observable that emits true if the variantId is permitted to read, false otherwise
     * @memberof UmbReadOnlyVariantGuardManager
     */
    isPermittedForObservableVariant(variantId: Observable<UmbVariantId | undefined>): Observable<boolean>;
    /**
     * Check if the given variantId is permitted to read
     * @param {UmbVariantId} variantId
     * @returns {boolean} - true if the variantId is permitted to read, false otherwise
     * @memberof UmbReadOnlyVariantGuardManager
     */
    getIsPermittedForVariant(variantId: UmbVariantId): boolean;
}
