import { PipeContext, Context, Source, TransformerDefinition, ImaPluginConfig, Args } from '../types';
/**
 * Parses ima.build.js file, initializing the build pipeline.
 */
export declare function parseConfigFile(cwd: string, args: Args): Promise<ImaPluginConfig[]>;
/**
 * Helper function to emit source. If it's not undefined, the source is
 * written to the output path. If it is undefined, the original file
 * is simply copied.
 */
export declare function emitSource(source: Source | undefined, context: PipeContext, outputDir: string): Promise<[void, void | "" | undefined] | undefined>;
/**
 * Load source file contents and runs transformers on it, provided
 * in the ima.build.js config.
 */
export declare function processTransformers(source: Source, transformers: TransformerDefinition[] | undefined, context: PipeContext): Promise<Source>;
/**
 * Creates processing pipeline used in build, link and dev scripts.
 * It is constructed to run on each file separately.
 */
export declare function createProcessingPipeline(ctx: Context): Promise<(filePath: string) => Promise<void>>;
/**
 * Runs plugins defined in config file.
 */
export declare function runPlugins(context: Context): Promise<void>;
