/// <reference types="gulp" />
import { Gulp, TaskFunction } from "gulp";
import { RelPosixPath } from "../types";
import { BaseTasks, TargetBase } from "./_base";
/**
 * Represents a Node program.
 * This is compatible with both browsers and Node.
 */
export interface NodeTarget extends TargetBase {
    /**
     * Relative path for the main module (entry point of the lib) WITHOUT EXTENSION, relative to `project.srcDir`.
     * Default: `"index"`.
     */
    mainModule: RelPosixPath;
}
export interface NodeTasks extends BaseTasks {
    run: TaskFunction;
    start: TaskFunction;
}
/**
 * Generates and registers gulp tasks for the provided node target.
 *
 * @param gulp Gulp instance used to generate tasks manipulating files.
 * @param targetOptions Target configuration.
 */
export declare function generateNodeTasks(gulp: Gulp, targetOptions: NodeTarget): NodeTasks;
/**
 * Generates and registers gulp tasks for the provided node target.
 *
 * @param gulp Gulp instance where the tasks will be registered.
 * @param targetOptions Target configuration.
 */
export declare function registerNodeTasks(gulp: Gulp, targetOptions: NodeTarget): NodeTasks;
