import { GuidValue, OmniaManifests } from "../../models";
export interface IServiceManifestProvider {
    /**
     * Should return the manifests promise for the service or return null to use default manifest for service.
     * */
    getOmniaServiceManifests: (omniaServiceId: GuidValue) => Promise<OmniaManifests>;
    /**
     * Get all service id's
     * Add or remove or leave allCurrentServiceIds unchanged
     * return the total result of all availible omnia services
     * */
    getAvailibleOmniaServiceIds: () => Array<GuidValue>;
}
export declare class ServiceManifestProvider {
    private static externalServiceManifestProvider;
    /**
     * Overrides default service manifest provider
     * Register null to revert to default manifest provider
     * */
    static overrideManifestProvider: (provider: IServiceManifestProvider) => void;
    static getAllAvailableOmniaServiceIds: () => Array<GuidValue>;
    static getOmniaServiceManifests: (omniaServiceId: GuidValue) => Promise<OmniaManifests>;
    static getOmniaServiceConfiguration: <T>(omniaServiceId: GuidValue) => T;
}
