import { Action } from "./lib/taskRunner"; import { Task } from "./lib/Task"; declare abstract class TaskInterface { protected _task: Task; constructor(_task: Task); abstract is(...args: any[]): string; does(strings: TemplateStringsArray, ...substitutions: string[]): this; } declare class FiniteTaskInterface extends TaskInterface { is(...args: [Action, ...Action[]]): string; } declare class CompositeTaskInterface extends TaskInterface { after(...args: [TemplateStringsArray, ...string[]]): FiniteTaskInterface; is(...args: [Action, ...Action[]] | [TemplateStringsArray, ...string[]]): string; } export declare const task: (strings: TemplateStringsArray, ...substitutions: string[]) => CompositeTaskInterface; export {};