import type { IServerGroup, ITask } from '../domain';
export declare type ITaskMatcher = (task: ITask, serverGroup: IServerGroup) => boolean;
/**
 * Match running tasks for an application to a specific server group.
 * This allows the tasks to be displayed in the server group details, or
 * as a popover on the server group header.
 */
export declare class TaskMatcher {
    private customMatchers;
    private instanceIdMatchers;
    private baseTaskMatchers;
    addMatcher(stageName: string, matcher: ITaskMatcher | 'instanceIdMatchers' | 'baseTaskMatchers'): void;
    taskMatches(task: ITask, serverGroup: IServerGroup): boolean;
}
export declare const taskMatcher: TaskMatcher;
