import BroccoliPlugin = require("broccoli-plugin");
/**
 * An object where the keys are the files that will be created in the tree and
 * the values are the source files.
 *
 * @interface FileMap
 */
interface FileMap {
    [relativePath: string]: string;
}
declare type BroccoliSymbolicLinkerOptions = Pick<BroccoliPlugin.BroccoliPluginOptions, "annotation" | "persistentOutput">;
/**
 * Creates symlinks to the source files specified.
 *
 *  BroccoliSymbolicLinker
 */
export declare class BroccoliSymbolicLinker extends BroccoliPlugin {
    files: FileMap;
    fakeOutputPath: string | undefined;
    constructor(fileMap?: FileMap | undefined, options?: BroccoliSymbolicLinkerOptions);
    reset(fileMap?: FileMap | undefined): void;
    /**
     * Record that a symlink should be created from src to dest.
     *
     * This can be called many times before the build method is invoked.
     * Calling it after will not have an effect until the next time build() is
     * invoked.
     *
     * @param src The file that should be symlinked into the tree.
     * @param dest the relative path from the tree's root to the location of the
     *   symlink. the filename does not have to be the same.
     * @returns the absolute path to the location where the symlink will be created.
     */
    ln_s(src: string, dest: string): string;
    /**
     * Returns the number of symlinks that will be created.
     */
    numberOfFiles(): number;
    /**
     * Create the symlinks. Directories to them will be created as necessary.
     */
    build(): void;
    /**
     * Output the symlinks that will be created for debugging.
     */
    debug(): string;
}
export {};
//# sourceMappingURL=broccoli-ln-s.d.ts.map