import React from 'react';
import type { Application } from '../../application';
import type { IFilterTag } from '../../filterModel';
import './executionFilters.less';
export interface IExecutionFiltersProps {
    application: Application;
    setReloadingForFilters: (reloadingForFilters: boolean) => void;
}
export interface IExecutionFiltersState {
    pipelineNames: string[];
    strategyNames: string[];
    pipelineTags: IOrderedPipelineTagFilters;
    pipelineReorderEnabled: boolean;
    searchString: string;
    tags: IFilterTag[];
}
interface IOrderedPipelineTagFilters {
    names: string[];
    values: {
        [key: string]: string[];
    };
}
export declare class ExecutionFilters extends React.Component<IExecutionFiltersProps, IExecutionFiltersState> {
    private executionsRefreshUnsubscribe;
    private groupsUpdatedSubscription;
    private locationChangeUnsubscribe;
    private pipelineConfigsRefreshUnsubscribe;
    constructor(props: IExecutionFiltersProps);
    componentDidMount(): void;
    private enablePipelineReorder;
    private disablePipelineReorder;
    private updateExecutionGroups;
    private refreshExecutions;
    private getPipelineTags;
    private getPipelineNames;
    private refreshPipelines;
    private initialize;
    componentWillUnmount(): void;
    private updateFilterSearch;
    private searchFieldUpdated;
    private updatePipelines;
    private handleSortEnd;
    private sortAlphabetically;
    private applyNewPipelineSortOrder;
    render(): JSX.Element;
}
export {};
