import { BuildOptions, ServiceOptions, RoleBasedSecurityProviderOptions, CombinedSecurityProviderOptions } from './models'; import { ICombinableSecurityProviderComposer, SecurityProviderCombinableRuleComposer } from './CombinableSecurityProviderComposer'; import { IServiceManifestComposer, ServiceManifestComposer } from './ServiceManifestComposer'; import { IClientServiceConfigurator } from './ConfigurationClientServiceRegistry'; export interface IWebAppServiceComposer extends IServiceManifestComposer { /** * Set options to build process * @param options the options for defining the build with options. */ withBuildOptions: (options: BuildOptions) => IWebAppServiceComposer; /** * Add a security provider for this omnia service * This security provider is connected to the security roles concept in omnia. * @param options the options for defining a role based security provider. */ AddRoleBasedSecurityProvider: (options: RoleBasedSecurityProviderOptions) => IWebAppServiceComposer; /** * Add a security provider for this omnia service * This security provider is a combination of other security providers. * * Using this Security provider would mean avaluating the logical combination of access to other security providers * * @param options the options for defining a combined security provider. */ AddCombinedSecurityProvider: (options: CombinedSecurityProviderOptions) => ICombinableSecurityProviderComposer; /** * Add a configuration to enable features at the runtimes. * @param configurationType the type for defining a configuration. */ configuration: >(configurationType: any) => T; } export declare class WebAppServiceComposer extends ServiceManifestComposer implements IWebAppServiceComposer { private manifestId; private manifestTitle; constructor(manifestId: string, manifestTitle: string, serviceOptions: ServiceOptions); configuration: >(configurationType: any) => T; withBuildOptions: (options: BuildOptions) => this; AddRoleBasedSecurityProvider: (options: RoleBasedSecurityProviderOptions) => this; AddCombinedSecurityProvider: (options: CombinedSecurityProviderOptions) => SecurityProviderCombinableRuleComposer; }