import { AppDefinition, AppInstance, AppTemplate, BusinessProfile, Feature, IAppScopedFeatureValidator, IProfileScopedFeatureValidator, ITenantScopedFeatureValidator } from "@omnia/fx-models"; export declare abstract class TenantScopedFeatureValidatorBase implements ITenantScopedFeatureValidator { abstract checkAvailable: (featureDefinition: Feature) => Promise; isAvailable: (featureDefinition: Feature, contextParameterValues: { [param: string]: unknown; }, requiredProvidedContextParameters: string[], optionalProvidedContextParameters: string[]) => Promise; checkContextAvailable: (featureDefinition: Feature, contextParameterValues: { [param: string]: unknown; }, requiredProvidedContextParameters: string[], optionalProvidedContextParameters: string[]) => boolean; } export declare abstract class ProfileScopedFeatureValidatorBase implements IProfileScopedFeatureValidator { abstract checkAvailable: (featureDefinition: Feature, profile: BusinessProfile) => Promise; isAvailable: (featureDefinition: Feature, contextParameterValues: { [param: string]: unknown; }, requiredProvidedContextParameters: string[], optionalProvidedContextParameters: string[], profile: BusinessProfile) => Promise; checkContextAvailable: (featureDefinition: Feature, contextParameterValues: { [param: string]: unknown; }, requiredProvidedContextParameters: string[], optionalProvidedContextParameters: string[]) => boolean; } export declare abstract class AppScopedFeatureValidatorBase implements IAppScopedFeatureValidator { abstract checkAvailable: (featureDefinition: Feature, appDefinition: AppDefinition, appTemplate: AppTemplate, appInstance?: AppInstance) => Promise; isAvailable: (featureDefinition: Feature, contextParameterValues: { [param: string]: unknown; }, requiredProvidedContextParameters: string[], optionalProvidedContextParameters: string[], appDefinition: AppDefinition, appTemplate: AppTemplate, appInstance?: AppInstance) => Promise; checkContextAvailable: (featureDefinition: Feature, contextParameterValues: { [param: string]: unknown; }, requiredProvidedContextParameters: string[], optionalProvidedContextParameters: string[]) => boolean; }