///
import { GulpProxy } from './GulpProxy';
import { IExecutable } from './IExecutable';
import { IBuildConfig } from './IBuildConfig';
import { CopyStaticAssetsTask } from './tasks/copyStaticAssets/CopyStaticAssetsTask';
export { IExecutable } from './IExecutable';
import * as Gulp from 'gulp';
import { JestTask } from './tasks/JestTask';
export * from './IBuildConfig';
export { addSuppression, coverageData, functionalTestRun, getErrors, getWarnings, TestResultState, warn, verbose, error, fileError, fileLog, fileWarning, reset, log, logSummary } from './logging';
export { GCBTerminalProvider } from './utilities/GCBTerminalProvider';
export * from './tasks/CopyTask';
export * from './tasks/GenerateShrinkwrapTask';
export * from './tasks/GulpTask';
export * from './tasks/CleanTask';
export * from './tasks/CleanFlagTask';
export * from './tasks/ValidateShrinkwrapTask';
export * from './tasks/copyStaticAssets/CopyStaticAssetsTask';
export * from './tasks/JestTask';
/**
* Merges the given build config settings into existing settings.
*
* @param config - The build config settings.
* @public
*/
export declare function setConfig(config: Partial): void;
/**
* Merges the given build config settings into existing settings.
*
* @param config - The build config settings.
* @public
*/
export declare function mergeConfig(config: Partial): void;
/**
* Replaces the build config.
*
* @param config - The build config settings.
* @public
*/
export declare function replaceConfig(config: IBuildConfig): void;
/**
* Gets the current config.
* @returns the current build configuration
* @public
*/
export declare function getConfig(): IBuildConfig;
/** @public */
export declare const cleanFlag: IExecutable;
/**
* Registers an IExecutable to gulp so that it can be called from the command line
* @param taskName - the name of the task, can be called from the command line (e.g. "gulp ")
* @param taskExecutable - the executable to execute when the task is invoked
* @returns the task parameter
* @public
*/
export declare function task(taskName: string, taskExecutable: IExecutable): IExecutable;
/**
* The callback interface for a custom task definition.
* The task should either return a Promise, a stream, or call the
* callback function (passing in an object value if there was an error).
* @public
*/
export interface ICustomGulpTask {
(gulp: typeof Gulp | GulpProxy, buildConfig: IBuildConfig, done?: (failure?: any) => void): Promise