import { IClientLoadableManifestProvider, ResourceManifest } from "./LoadableManifestRegistry";
import { ClientResolvableLoadRule, GroupedBundleManifest } from '../../fx-models';
import { ManifestGroupOptions } from './models';
export declare class ManifestGroupRegistration {
    manifestGroupOptions: ManifestGroupOptions;
    manifestPath: string;
    manifest: ResourceManifest;
    loadRules: Array<ClientResolvableLoadRule>;
    constructor(manifestGroupOptions: ManifestGroupOptions, manifestPath: string, manifest: ResourceManifest);
}
export interface ManifestGroupDescription {
    resourceId: string;
    resourceName?: string;
    manifestIdsInGroup: Array<string>;
}
export declare class ManifestGroupRegistry implements IClientLoadableManifestProvider {
    private static ManifestGroupRegistrations;
    private static _registeredManifestProvider;
    static registerManifestGroup: (manifest: ResourceManifest, groupOptions: ManifestGroupOptions) => void;
    static newCombinedRules: (manifest: ResourceManifest, rules: Array<ClientResolvableLoadRule>) => void;
    static getManifestGroupRegistrations: () => any;
    static getRegistrations: () => Array<ManifestGroupDescription>;
    getClientLoadableManifests: (currentServiceId: string) => Array<GroupedBundleManifest>;
    clearState: () => void;
    private static ensureCorrectManifest;
    private static clearManifestGroupRegistrations;
    private static ServerSubscription;
}
