export type Command = string; export interface StageCopy { source: string; dest: string; sourceStage: number; } export interface LocalCopy { source: string; dest: string; } interface ActionGroupCore { commands: Command[]; workdir: string; restart: boolean; } export interface StageDependentActionGroup extends ActionGroupCore { dependentOnStage: true; copies: StageCopy[]; stageDependency: number; } export interface LocalDependentActionGroup extends ActionGroupCore { dependentOnStage: false; copies: LocalCopy[]; } export type ActionGroup = StageDependentActionGroup | LocalDependentActionGroup; export declare function isChildPath(parent: string, child: string): boolean; export declare function fileMatchesForActionGroup(files: string[], actionGroup: ActionGroup): string[]; export declare function getActionGroupFileFilter(actionGroup: ActionGroup): (file: string) => boolean; export declare function getAffectedLocalCopies(actionGroup: ActionGroup, file: string): Array<{ file: string; copy: LocalCopy; }>; export default ActionGroup;