import React from 'react';
import type { Application } from '../application';
import type { IInstance, IServerGroup } from '../domain';
import type { ISortFilter } from '../filterModel';
export interface IJenkinsViewModel {
    number: number;
    href?: string;
}
export interface IDockerViewModel {
    digest: string;
    image: string;
    tag: string;
    href?: string;
}
export interface IServerGroupProps {
    cluster: string;
    serverGroup: IServerGroup;
    application: Application;
    sortFilter: ISortFilter;
    hasLoadBalancers: boolean;
    hasDiscovery: boolean;
    hasManager?: boolean;
}
export interface IServerGroupState {
    jenkins: IJenkinsViewModel;
    docker: IDockerViewModel;
    instances: IInstance[];
    images?: string[];
    isSelected: boolean;
    isMultiSelected: boolean;
}
export declare class ServerGroup extends React.Component<IServerGroupProps, IServerGroupState> {
    private stateChangeSubscription;
    private serverGroupsSubscription;
    constructor(props: IServerGroupProps);
    private getState;
    private getShortSha;
    private isSelected;
    private isMultiSelected;
    private onServerGroupsChanged;
    private onStateChanged;
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentWillReceiveProps(nextProps: IServerGroupProps): void;
    loadDetails(event: React.MouseEvent<any>): void;
    private handleServerGroupClicked;
    render(): JSX.Element;
}
