/** * @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 { BaseException } from '@angular-devkit/core'; import { Observable } from 'rxjs'; import { Url } from 'url'; import { MergeStrategy } from '../tree/interface'; import { Workflow } from '../workflow/interface'; import { Collection, CollectionDescription, Engine, EngineHost, ExecutionOptions, Schematic, SchematicContext, SchematicDescription, Source, TaskConfiguration, TaskId, TaskInfo, TypedSchematicContext } from './interface'; export declare class UnknownUrlSourceProtocol extends BaseException { constructor(url: string); } export declare class UnknownCollectionException extends BaseException { constructor(name: string); } export declare class CircularCollectionException extends BaseException { constructor(name: string); } export declare class UnknownSchematicException extends BaseException { constructor(name: string, collection: CollectionDescription<{}>); } export declare class PrivateSchematicException extends BaseException { constructor(name: string, collection: CollectionDescription<{}>); } export declare class SchematicEngineConflictingException extends BaseException { constructor(); } export declare class UnregisteredTaskException extends BaseException { constructor(name: string, schematic?: SchematicDescription<{}, {}>); } export declare class UnknownTaskDependencyException extends BaseException { constructor(id: TaskId); } export declare class CollectionImpl implements Collection { private _description; private _engine; readonly baseDescriptions?: CollectionDescription[] | undefined; constructor(_description: CollectionDescription, _engine: SchematicEngine, baseDescriptions?: CollectionDescription[] | undefined); get description(): CollectionDescription; get name(): string; createSchematic(name: string, allowPrivate?: boolean): Schematic; listSchematicNames(includeHidden?: boolean): string[]; } export declare class TaskScheduler { private _context; private _queue; private _taskIds; private static _taskIdCounter; constructor(_context: SchematicContext); private _calculatePriority; private _mapDependencies; schedule(taskConfiguration: TaskConfiguration): TaskId; finalize(): ReadonlyArray; } export declare class SchematicEngine implements Engine { private _host; protected _workflow?: Workflow | undefined; private _collectionCache; private _schematicCache; private _taskSchedulers; constructor(_host: EngineHost, _workflow?: Workflow | undefined); get workflow(): Workflow | null; get defaultMergeStrategy(): MergeStrategy; createCollection(name: string, requester?: Collection): Collection; private _createCollectionDescription; createContext(schematic: Schematic, parent?: Partial>, executionOptions?: Partial): TypedSchematicContext; createSchematic(name: string, collection: Collection, allowPrivate?: boolean): Schematic; listSchematicNames(collection: Collection, includeHidden?: boolean): string[]; transformOptions(schematic: Schematic, options: OptionT, context?: TypedSchematicContext): Observable; createSourceFromUrl(url: Url, context: TypedSchematicContext): Source; executePostTasks(): Observable; }