/**
 * @license
 * Copyright Google Inc. 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 { CollectionDescription, RuleFactory, SchematicDescription } from '@angular-devkit/schematics';
import { FileSystemCollectionDescription, FileSystemSchematicDescription } from './description';
import { FileSystemEngineHostBase } from './file-system-engine-host-base';
/**
 * Used to simplify typings.
 */
export declare type FileSystemCollectionDesc = CollectionDescription<FileSystemCollectionDescription>;
export declare type FileSystemSchematicDesc = SchematicDescription<FileSystemCollectionDescription, FileSystemSchematicDescription>;
/**
 * A simple EngineHost that uses a registry of {name => path} to find collections. This can be
 * useful for tooling that want to load generic collections from random places.
 */
export declare class RegistryEngineHost extends FileSystemEngineHostBase {
    protected _registry: Map<string, string>;
    registerPath(path: string): void;
    removePath(path: string): void;
    removeName(name: string): void;
    protected _resolveCollectionPath(name: string): string;
    protected _resolveReferenceString(refString: string, parentPath: string): {
        ref: RuleFactory<{}>;
        path: string;
    } | null;
    protected _transformCollectionDescription(name: string, desc: Partial<FileSystemCollectionDesc>): CollectionDescription<FileSystemCollectionDescription>;
    protected _transformSchematicDescription(name: string, _collection: FileSystemCollectionDesc, desc: Partial<FileSystemSchematicDesc>): SchematicDescription<FileSystemCollectionDescription, FileSystemSchematicDescription>;
}
