import { IDependencyComposer, DependencyComposer } from "./DependencyComposer"; import { OrderOptions, ResourcesOptions, ILocalizationComposer, LocalizationOptions } from "./models"; import { ICombinableRuleComposer, CombinableRuleComposer } from "./CombinableRuleComposer"; import { Localization } from "./LocalizationComposer"; import { IApiComposer } from "./models/ApiComposer"; import { ComposerBase } from "./ComposerBase"; import { ISecurityComposer } from "./models/SecurityComposer"; export interface IReOpendedResourcesComposer { /** Add more resources to the opened manifest */ registerResource: (resourcesOptions: ResourcesOptions) => IReOpendedResourcesOrderingComposer; /** * Registers a new localization manifest * Used to add labels for localization * Usage: registerLocalization("").*additionalOperations * @param localizationOptions */ registerLocalization: (localizationOptions?: LocalizationOptions) => ILocalizationComposer; } export interface IReOpendedResourcesOrderingComposer { /** Add information about how resources should be ordered within the bundle */ orderUsing: (orderOption: OrderOptions) => void; } export interface IResourcesComposer extends IDependencyComposer, IApiComposer, ISecurityComposer { /** The build options for thhese resources, e.g. options to influence the build step*/ /** Add a rule(s) when the component should be loaded Make sure to add rules which is not to generic, i.e. only load when needed (Only (OOTB) rules that are implementing ICombinableLoadRule can be added.) */ withLoadRules: () => ICombinableRuleComposer; } export declare class ReOpenedResourceComposer implements IReOpendedResourcesComposer, IReOpendedResourcesOrderingComposer { private manifest; private manifestId; constructor(manifestId: string); registerResource: (resourcesOptions: ResourcesOptions) => this; orderUsing: (orderOption: OrderOptions) => void; registerLocalization: (localizationOptions: LocalizationOptions) => Localization; } export declare class ResourcesComposer extends ComposerBase implements IResourcesComposer { private manifestName?; private ruleComposer; constructor(manifestId: string, manifestName?: string); registerResource: (resourcesOptions: ResourcesOptions) => this; withLoadRules: () => CombinableRuleComposer; withNoDependency: () => this; withDependency: (manifestId: string) => DependencyComposer; withExternalDependency: (omniaServiceId: string, manifestId: string) => DependencyComposer; private persistCombinedRules; }