/// export interface RuleConfig { devBuildPath: string; thirdPartyBuildPath: string; localLibsDestPath: string; } export interface JasmineRule { src: string[]; options?: { specs: string[]; outfile?: string; keepRunner?: boolean; template?: string; templateOptions?: { files: string[]; coverage: string; report: { type: string; options: { dir: string; }; }[]; }; }; } export interface BrowserifyRule { src: string[]; dest: string; options?: { transform?: Object[][]; debug?: boolean; }; } export interface CopyFilesDescription { src: string[]; dest: string; expand?: boolean; cwd?: string; nonull?: boolean; onlyIf?: string; } export interface CopyRule { files: CopyFilesDescription[]; } export declare class Rule { config: RuleConfig; constructor(config: RuleConfig); addCoverageToSpec(spec: JasmineRule): JasmineRule; jasmineSpec(name: string, morefiles?: string[]): JasmineRule; jasmineSingleSpec(file: string): JasmineRule; browserify(filepath: string, options?: { browserifyOptions: { standalone: string; }; }): BrowserifyRule; addCoverageToBrowserify(rule: BrowserifyRule): BrowserifyRule; browserifySpec(filepath: string, options?: { browserifyOptions: { standalone: string; }; }): BrowserifyRule; copyLibs(copyInfo: { npmLibNames?: string[]; pathsFromDevBuild?: string[]; pathsFromThirdPartyBuild?: string[]; files?: CopyFilesDescription[]; localDestPath: string; }): CopyRule; buildAndRunTest(test: string, gruntConfig: { [c: string]: { [t: string]: Object; }; }, coverage?: boolean): string[]; getTests(rootDir: string, current?: string, ignore?: string[]): string[]; }