/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { Observable } from 'rxjs'; import { Url } from 'url'; import { CollectionDescription, EngineHost, RuleFactory, SchematicDescription, Source, TaskExecutor, TypedSchematicContext } from '../src'; export type FallbackCollectionDescription = { host: EngineHost<{}, {}>; description: CollectionDescription<{}>; }; export type FallbackSchematicDescription = { description: SchematicDescription<{}, {}>; }; export type FallbackContext = TypedSchematicContext; /** * An EngineHost that support multiple hosts in a fallback configuration. If a host does not * have a collection/schematics, use the following host before giving up. */ export declare class FallbackEngineHost implements EngineHost<{}, {}> { private _hosts; addHost(host: EngineHost): void; createCollectionDescription(name: string, requester?: CollectionDescription<{}>): CollectionDescription; createSchematicDescription(name: string, collection: CollectionDescription): SchematicDescription | null; getSchematicRuleFactory(schematic: SchematicDescription, collection: CollectionDescription): RuleFactory; createSourceFromUrl(url: Url, context: FallbackContext): Source | null; transformOptions(schematic: SchematicDescription, options: OptionT, context?: FallbackContext): Observable; transformContext(context: FallbackContext): FallbackContext; listSchematicNames(collection: CollectionDescription, includeHidden?: boolean): string[]; createTaskExecutor(name: string): Observable; hasTaskExecutor(name: string): boolean; }