import { Container } from 'inversify'; import { IGulp, ToolParameters, ToolConfiguration, GlobalConfiguration } from 'urbanjs-tools-core'; export declare const TYPE_TOOL_SERVICE = "TYPE_TOOL_SERVICE"; export declare const TYPE_CONFIG_TOOL_PREFIX = "TYPE_CONFIG_TOOL_PREFIX"; export declare const TYPE_DRIVER_REQUIRE = "TYPE_DRIVER_REQUIRE"; export declare const TYPE_FACTORY_TOOL_CONTAINER = "TYPE_FACTORY_TOOL_CONTAINER"; export declare const TYPE_API = "TYPE_API"; export interface IRequireDriver { require(name: string): T; } export declare type ToolContainerFactory = () => Container; export interface IRegistrableGulpTool { register(gulp: IGulp, taskName: string, parameters: ToolConfiguration): void; } export interface IToolService { getTool(toolName: string): IRegistrableGulpTool; } export declare type PresetConfig = (string | string[])[] | boolean | Function; export interface IApi { initialize(gulp: IGulp, config: { [key: string]: PresetConfig | ToolConfiguration; }): void; initializePreset(gulp: IGulp, presetName: string, config: PresetConfig): void; initializePresets(gulp: IGulp, configsByPresetName: { [key: string]: PresetConfig; }): void; initializeTask(gulp: IGulp, toolName: string, parameters: ToolConfiguration): void; initializeTasks(gulp: IGulp, parametersByToolName: { [key: string]: ToolConfiguration; }): void; getTool(toolName: any): IRegistrableGulpTool; setGlobalConfiguration(configuration: ToolConfiguration): any; getGlobalConfiguration(): GlobalConfiguration; setupInMemoryTranspile(): void; }