import React from 'react'; import type { Application, IRouterInjectedProps, ISecurityGroup, ISecurityGroupDetail, SecurityGroupReader } from '@spinnaker/core'; import { DeckRuntimeContext } from '@spinnaker/core'; interface IAmazonResolvedSecurityGroup { accountId?: string; name: string; provider?: string; region: string; vpcId?: string; } interface IAmazonSecurityGroupDetailsProps { app: Application; autoClose?: () => void; resolvedSecurityGroup: IAmazonResolvedSecurityGroup; securityGroupReader?: SecurityGroupReader; } interface IAmazonSecurityGroupDetailsState { loading: boolean; notFound?: boolean; securityGroup?: ISecurityGroupDetail & ISecurityGroup & Record; } export interface ISecurityGroupRuleModel { rules: ISecurityGroupPortRangeRule[]; securityGroup: ISecurityGroup; } interface ISecurityGroupPortRangeRule { description: string; endPort: number; protocol: string; startPort: number; } export declare function buildIpRulesModel(details: any): { address: string; rules: ISecurityGroupPortRangeRule[]; }[]; export declare function buildSecurityGroupRulesModel(details: any): ISecurityGroupRuleModel[]; export declare function AmazonSecurityGroupActions({ app, resolvedSecurityGroup, securityGroup, }: { app: Application; resolvedSecurityGroup?: IAmazonResolvedSecurityGroup; securityGroup: any; }): JSX.Element | null; export declare class AmazonSecurityGroupDetailsComponent extends React.Component { static contextType: React.Context; context: React.ContextType; state: IAmazonSecurityGroupDetailsState; private isUnmounted; private loadRequestId; private unsubscribeFromRefresh; componentDidMount(): void; componentDidUpdate(prevProps: IAmazonSecurityGroupDetailsProps): void; componentWillUnmount(): void; private getCoordinatesKey; private getSecurityGroupReader; private autoClose; private loadSecurityGroup; private closeDetails; render(): JSX.Element; } export declare const AmazonSecurityGroupDetails: React.ForwardRefExoticComponent & { children?: React.ReactNode; } & React.RefAttributes>; export {};