import * as ts from 'typescript'; declare type Transformer = ts.TransformerFactory | ts.CustomTransformerFactory; declare type PluginEntry = string | PluginAndOptions; interface PluginAndOptions { name: 'string'; options: Record; } export interface NestCompilerPlugin { before?: (options?: Record, program?: ts.Program) => Transformer; after?: (options?: Record, program?: ts.Program) => Transformer; } export interface MultiNestCompilerPlugins { beforeHooks: Array<(program?: ts.Program) => Transformer>; afterHooks: Array<(program?: ts.Program) => Transformer>; } export declare class PluginsLoader { load(plugins?: PluginEntry[]): MultiNestCompilerPlugins; } export {};