import React from 'react'; import type { Observable } from 'rxjs'; import type { Application } from '../../application'; import type { IServerGroup } from '../../domain'; export interface IServerGroupDetailsWrapperProps { app: Application; serverGroup: { name: string; accountId: string; region: string; }; } export type DetailsGetter = (props: IServerGroupDetailsProps, autoClose: () => void) => Observable; export interface IServerGroupDetailsWrapperState { angular: { template: string; controller: string; }; detailsGetter: DetailsGetter; sections: Array>; Actions: React.ComponentType; } export interface IServerGroupActionsProps { app: Application; serverGroup: IServerGroup; } export interface IServerGroupDetailsSectionProps { app: Application; serverGroup: IServerGroup; } export interface IServerGroupDetailsProps extends IServerGroupDetailsWrapperProps { Actions: React.ComponentType; detailsGetter: DetailsGetter; sections: Array>; } export interface IServerGroupDetailsState { loading: boolean; serverGroup: IServerGroup; } export declare class ServerGroupDetailsWrapper extends React.Component { constructor(props: IServerGroupDetailsWrapperProps); private getServerGroupDetailsTemplate; componentDidMount(): void; componentWillReceiveProps(): void; render(): JSX.Element; }