import { FactoryProvider, InjectionToken, Provider } from '@angular/core'; import { BaseOverlaySourceProvider } from './base-overlay-source-provider.model'; export declare type IOverlaySourceProviderConstructor = new (...args: any[]) => BaseOverlaySourceProvider; export declare const MultipleOverlaysSource: InjectionToken; export interface IMultipleOverlaysSource { [sourceType: string]: BaseOverlaySourceProvider; } export declare function OverlaySourceProvider({ sourceType }: { sourceType: string; }): (constructor: IOverlaySourceProviderConstructor) => void; export interface IOverlaysMetadata { overlaySourceProviders: IOverlaySourceProviderConstructor[]; } export declare const OVERLAYS_SOURCE_PROVIDERS: InjectionToken; export declare function BaseOverlaySourceProvidersFactory(mapSourceProviders: any): IMultipleOverlaysSource; export declare function OveralysSourceProvidersFactory(...providers: any[]): any[]; export declare function createOverlaysSourceProviders(providers: IOverlaySourceProviderConstructor[]): Provider[]; export declare const BaseOverlaySourceFactoryProvider: FactoryProvider;