import * as i0 from '@angular/core'; import { ModuleWithProviders } from '@angular/core'; /** * The list of parameters that are allowed at runtime. */ type SkyuxConfigParams = Record; /** * Information about a referenced remote container. */ interface SkyuxConfigRemoteContainerReference { /** * A list of module names referenced by this application. */ modules: string[]; /** * The version of the referenced SPA's remote entry. */ containerVersion: number; } /** * Information about remote modules exposed and/or referenced by this application. */ interface SkyuxConfigRemoteModules { /** * Whether this application can load remote modules without validating them * against the list of `referenced` modules. Disabling this validation could * lead to unpredictable behavior and should not be used in most cases. */ allowDynamicLoading?: boolean; /** * Information about remote modules exposed by this application. */ public?: { /** * A list of aliases for this application's remote entry. */ containerAliases?: string[]; /** * The version of this application's remote entry. */ containerVersion: number; /** * A collection of public modules to expose to consuming SPAs. The module * names must start with a capital letter. */ modules: Record; }; /** * A collection of remote containers referenced by this application, keyed by * the name of the remote container. */ referenced?: Record; /** * Information about dependencies that should be shared between containers. * The value for each entry should be an object with properties expected by * Webpack's `ModuleFederationPlugin` constructor. * @see https://webpack.js.org/plugins/module-federation-plugin#sharing-libraries */ shared?: Record; } /** * A collection of query URL parameters. */ type SkyConfigQueryParams = Record; /** * Options used to create link URLs. */ interface SkyConfigGetLinkUrlOptions { queryParams: SkyConfigQueryParams; } declare class SkyAppRuntimeConfigParams { #private; constructor(url: string, configParams: SkyuxConfigParams); /** * Does the key exist */ has(key: string): boolean; /** * Are all the required params defined? */ hasAllRequiredParams(): boolean; /** * Returns a flag indicating whether a parameter is required. */ isRequired(key: string): boolean; /** * Returns the decoded value of the requested param. * @param key The parameter's key. */ get(key: string): string | undefined; /** * Returns the params object. * @param excludeDefaults Exclude params that have default values */ getAll(excludeDefaults?: boolean): Record; /** * Returns all keys for current params. */ getAllKeys(): string[]; /** * Adds the current params to the supplied URL. */ getUrl(url: string): string; /** * Adds the current params to the supplied link URL. * @param url The url to update. * @param options Options used to create link URLs. */ getLinkUrl(url: string, options?: SkyConfigGetLinkUrlOptions): string; } interface RuntimeConfigApp { base: string; inject: boolean; name?: string; template: string; } /** * @experimental */ interface SkyuxRuntimeConfigLocalDev { assetsBaseUrl?: string; hasRemoteModules?: boolean; } declare class SkyuxPactConfig { providers?: Record; pactProxyServer?: string; } interface SkyuxConfigE2ETestSettings { browserSet?: 'speedy'; } interface SkyuxConfigUnitTestSettings { browserSet?: 'speedy' | 'quirky' | 'paranoid'; } interface SkyuxConfigTestSettings { e2e?: SkyuxConfigE2ETestSettings; unit?: SkyuxConfigUnitTestSettings; } interface SkyuxConfigLibrarySettings { whitelistedNonPeerDependencies?: string[]; } interface RuntimeConfig { app: RuntimeConfigApp; command?: string; componentsPattern: string; componentsIgnorePattern: string; handle404?: boolean; includeRouteModule: boolean; pactConfig?: SkyuxPactConfig; params: SkyAppRuntimeConfigParams; routes?: object[]; routesPattern: string; runtimeAlias: string; spaPathAlias: string; skyPagesOutAlias: string; skyuxPathAlias: string; srcPath: string; useTemplateUrl: boolean; localDev?: SkyuxRuntimeConfigLocalDev; } interface SkyuxConfigA11y { rules?: any; } type SkyuxConfigAppSupportedTheme = 'default' | 'modern'; interface SkyuxConfigAppBrand { name: string; version: string; } interface SkyuxConfigAppTheming { supportedThemes: SkyuxConfigAppSupportedTheme[]; theme: SkyuxConfigAppSupportedTheme; brand?: SkyuxConfigAppBrand; } interface SkyuxConfigApp { base?: string; externals?: object; port?: string; styles?: string[]; theming?: SkyuxConfigAppTheming; title?: string; } interface SkyuxConfigAuthSettings { blackbaudEmployee?: boolean; } interface SkyuxConfigHostBBCheckout { version: '2'; } interface SkyuxConfigHostFrameOptionsNone { blackbaud?: false; none: true; self?: false; urls?: string[]; } interface SkyuxConfigHostFrameOptionsOthers { blackbaud?: boolean; none?: false; self?: boolean; urls?: string[]; } type SkyuxConfigHostCspDirectives = Record; interface SkyuxConfigHostCsp { enabled: boolean; directives?: SkyuxConfigHostCspDirectives; } /** * Blackbaud Only - Specifies configuration options for communication with SKY UX Host. */ interface SkyuxConfigHost { bbCheckout?: SkyuxConfigHostBBCheckout; csp?: SkyuxConfigHostCsp; frameOptions?: SkyuxConfigHostFrameOptionsNone | SkyuxConfigHostFrameOptionsOthers; url?: string; } interface SkyuxConfigAnyAllSet { any?: string[]; all?: string[]; } interface SkyuxConfig { $schema?: string; a11y?: SkyuxConfigA11y | boolean; angularSettings?: { defaultProject: string; }; app?: SkyuxConfigApp; appSettings?: any; auth?: boolean; authSettings?: SkyuxConfigAuthSettings; codeCoverageThreshold?: 'none' | 'standard' | 'strict'; command?: string; compileMode?: string; cssPath?: string; dependenciesForTranspilation?: string[]; enableIvy?: boolean; help?: any; host?: SkyuxConfigHost; importPath?: string; librarySettings?: SkyuxConfigLibrarySettings; mode?: string; moduleAliases?: Record; name?: string; pacts?: any[]; params?: SkyuxConfigParams; pipelineSettings?: any; plugins?: string[]; redirects?: Record; remoteModules?: SkyuxConfigRemoteModules; routes?: { public?: { title?: string; description?: string; global?: boolean; route: string; claims?: SkyuxConfigAnyAllSet; entitlementType?: string; entitlements?: SkyuxConfigAnyAllSet; permissionId?: string; permissions?: { admin?: boolean; legalEntityAdmin?: boolean; permissionIds?: SkyuxConfigAnyAllSet; }; }[]; referenced?: { app: string; route: string; }[]; }; testSettings?: SkyuxConfigTestSettings; omnibar?: any; useHashRouting?: boolean; skyuxModules?: string[]; } declare class SkyAppConfig { runtime: RuntimeConfig; skyux: SkyuxConfig; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Host configuration for components and applications. * @deprecated Use `SkyAppConfig.skyux.host` instead. */ declare class SkyAppConfigHost { #private; get host(): SkyuxConfigHost; init(config?: SkyuxConfigHost): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } interface SkyAppConfigModuleForRootArgs { host?: SkyuxConfigHost; params?: SkyuxConfigParams; } /** * @deprecated Use `SkyAppConfig.skyux.params` instead. */ declare class SkyAppConfigParams { #private; get params(): SkyuxConfigParams; init(params?: SkyuxConfigParams): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * @deprecated Provide `SkyAppConfig` at the root instead. */ declare class SkyAppConfigModule { static forRoot(config?: SkyAppConfigModuleForRootArgs): ModuleWithProviders; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * Provides methods to interact with runtime config query parameters. * @deprecated Use `SkyAppConfig.runtime.params` instead. */ declare class SkyAppRuntimeConfigParamsProvider { #private; get params(): SkyAppRuntimeConfigParams; constructor(configParams?: SkyAppConfigParams); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { SkyAppConfig, SkyAppConfigHost, SkyAppConfigModule, SkyAppConfigParams, SkyAppRuntimeConfigParams, SkyAppRuntimeConfigParamsProvider, SkyuxPactConfig }; export type { RuntimeConfig, RuntimeConfigApp, SkyAppConfigModuleForRootArgs, SkyConfigGetLinkUrlOptions, SkyConfigQueryParams, SkyuxConfig, SkyuxConfigA11y, SkyuxConfigAnyAllSet, SkyuxConfigApp, SkyuxConfigAppBrand, SkyuxConfigAppSupportedTheme, SkyuxConfigAppTheming, SkyuxConfigAuthSettings, SkyuxConfigE2ETestSettings, SkyuxConfigHost, SkyuxConfigHostBBCheckout, SkyuxConfigHostCsp, SkyuxConfigHostCspDirectives, SkyuxConfigHostFrameOptionsNone, SkyuxConfigHostFrameOptionsOthers, SkyuxConfigLibrarySettings, SkyuxConfigParams, SkyuxConfigRemoteContainerReference, SkyuxConfigRemoteModules, SkyuxConfigTestSettings, SkyuxConfigUnitTestSettings };