import React from 'react';
import type { IPipelineTemplateV2, IPipelineTemplateV2Collections, IPipelineTemplateV2VersionSelections } from '../../../../domain/IPipelineTemplateV2';
import './PipelineTemplatesV2.less';
export interface IPipelineTemplatesV2State {
    fetchError: string;
    searchValue: string;
    viewTemplateVersion?: string;
    deleteTemplateVersion?: string;
    selectedTemplate: IPipelineTemplateV2;
    templateVersionSelections: IPipelineTemplateV2VersionSelections;
    templates: IPipelineTemplateV2Collections;
}
export declare const PipelineTemplatesV2Error: (props: {
    message: string;
}) => JSX.Element;
export declare class PipelineTemplatesV2 extends React.Component<{}, IPipelineTemplatesV2State> {
    private routeChangedSubscription;
    state: IPipelineTemplatesV2State;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private fetchTemplates;
    private onRouteChanged;
    private sortTemplates;
    private getUpdateTimeForTemplate;
    private dismissDetailsModal;
    private onSearchFieldChanged;
    private filterMemoizeResolver;
    private filterSearchResults;
    private getViewTemplate;
    private getDeleteTemplate;
    private findTemplate;
    private handleCreatePipelineClick;
    handleCreatePipelineModalClose: () => void;
    private handleSelectedTemplateVersionChange;
    render(): JSX.Element;
}
