import * as i0 from '@angular/core'; import { Type, ViewContainerRef, ComponentRef, Injector, InjectionToken, AbstractType, Provider } from '@angular/core'; import { Observable } from 'rxjs'; /** Service to programmatically open file dialog. */ declare class PickerBrowserService { /** * Open file dialog to select files. * @param options picker options. * @returns A promise that resolves with the picked files or and empty array. */ pickFiles(options: PickerBrowserOptions): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** Picker options. */ interface PickerBrowserOptions { /** optional mime type of the files to select. (default *) */ readonly accept?: string; /** allow multiple files (default true.) */ readonly multiple?: boolean; } declare class ClipboardService { copy(data: string): Promise; read(): Promise; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class CompilerService { private readonly modules; render(options: RendererOptions): Promise>; resolveComponent(type: Type, injector: Injector): Promise<{ component: Type; injector: Injector; }>; private renderComponent; private resolveModuleInfo; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } interface RendererOptions { type: Type; inputs?: any; container: ViewContainerRef; } interface IDynamicModule { /** Reference to the main component of the module */ component: Type; } interface IDynamicService { injectable(): boolean; } declare class InjectorService { private readonly injector; get(token: Type | InjectionToken | AbstractType): T; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class ResourceLoaderConfig { /** * If true, the document.baseURI will be used to build the url of the resource to load if the url is relative. */ useDocumentBaseURI?: boolean; } /** * An array of [type, url, attributes] tuple where: * - `type` is the type of an asset to load `script`| `style` * - `url` is the url to a style/script to load * - `attributes` is a map of optional attributes to add to the element. */ declare type ResourceInfo = ['style' | 'script', string, Record?]; /** * Services that dynamically inject scripts and styles elements to the DOM. */ declare class ResourceLoaderService { private readonly document; private readonly config; private readonly isBrowser; private readonly requests; waitForPendings(): Promise; /** * Injects styles and scripts from given urls to the head of the DOM. * This method loads assets from same url once and the assets are * loaded in the same order that given. * @param resources Resources to load. */ loadAllSync(resources: ResourceInfo[]): Observable; /** * Injects styles and scripts from given urls to target place in DOM * This method loads style and script from same url once. * @param resources Resources to load. */ loadAllAsync(resources: ResourceInfo[]): Observable; private createRequests; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare const ResourceLoaderConfigProvider: (config: Partial) => Provider; export { ClipboardService, CompilerService, InjectorService, PickerBrowserService, ResourceLoaderConfig, ResourceLoaderConfigProvider, ResourceLoaderService }; export type { IDynamicModule, IDynamicService, PickerBrowserOptions, RendererOptions };