import { BouncerContext, HcloudFeature } from "../../../interfaces/bouncer"; export type BouncerProviderLogger = (featureName: string, defaultValue: boolean, result: boolean, context?: BouncerContext, feature?: HcloudFeature) => void; export declare class BouncerProvider { private features; private context?; private logger?; private refs; constructor(features: HcloudFeature[], context?: BouncerContext, logger?: BouncerProviderLogger); isEnabled(featureName: string, defaultValue: boolean, context?: BouncerContext): boolean; isEnabledFn(featureName: string, defaultValue: boolean, fn: (val: boolean) => void, context?: BouncerContext): boolean; processRefs(): void; addFeature(feature: HcloudFeature): void; setFeatures(features: HcloudFeature[]): void; setContext(context: BouncerContext): void; updateContext({ region, email, organization }: BouncerContext): void; private doesMatchRegion; private doesMatchUser; private doesMatchOrganization; }