import { BundleTargetTypes } from "./models/Enums"; import { ClientManifest, LoadableBundleManifest, BundleIdentity, RegiterApiConfiguration } from '../../fx-models'; export interface ResourceManifest extends ClientManifest { /** The unique id of the manifest, this will be the id of the resources added. */ resourceId: string; /** The friendly name of the manifest */ resourceName?: string; /** register owner api */ api?: string[]; /** register extend api */ extendApi?: string[]; /** register extend api configuration */ extendApiConfiguration?: { [api: string]: Object; }; /** The configuration for register api */ registerApiConfiguration?: { [api: string]: RegiterApiConfiguration; }; /** whether the resource manifest has the authentication disabled (used in non login routes, e.g. Login/OnBoarding) */ authDisabled?: boolean; } export declare class StaticClientLoadableManifestProviderProxy implements IClientLoadableManifestProvider { getClientLoadableManifests: (currentServiceId: string) => Array; clearState: () => void; constructor(getClientLoadableManifestsFunc: (currentServiceId: string) => Array, clearStateFunc: () => void); } export interface IClientLoadableManifestProvider { getClientLoadableManifests: (currentServiceId: string) => Array; clearState: () => void; } export declare class LoadableManifestRegistry { private static ManifestDependencies; private static WithNoManifestDependencies; private static ManifestFileTypes; private static ManifestVersions; private static ClientManifests; private static RegisteredManifests; private static ClientManifestProviders; static getRegisteredManifest: (manifestId: string) => ResourceManifest; static withNoDependency: (manifestId: string) => void; static isDefineWithNoDependency: (manifestId: string) => boolean; static addManifestDependency: (manifestId: string, dependentOnManifestId: string, dependentManifestOmniaServiceId?: string) => void; static getManifestDependencies: (manifestId: string, currentServiceId: string) => Array; static getAllManifestDependencies: () => { [manifestId: string]: any[]; }; static addManifestVersion: (manifestId: string, type: BundleTargetTypes, version: string) => void; static getManifestVersion: (manifestId: string) => { [key: string]: string; }; static addManifestBundleType: (manifestId: string, type: BundleTargetTypes) => void; static getManifestBundleTypes: (manifestId: string) => Array; static registerManifest: (manifest: ResourceManifest) => ResourceManifest; static registerManifestProvider: (provider: IClientLoadableManifestProvider) => void; static getClientManifests: (currentServiceId: string) => Array; static clearState: () => void; private static validateDependencies; private static addClientManifest; private static getDefaultDependencies; private static Subscription; }