import type { IEntityTags } from './IEntityTags';
import type { ILoadBalancer } from './ILoadBalancer';
import type { IManagedResource } from './IManagedEntity';
import type { IServerGroup } from './IServerGroup';
import type { IMoniker } from '../naming';
export interface ILoadBalancerUsage {
    name: string;
}
export interface IServerGroupUsage {
    account: string;
    cloudProvider: string;
    isDisabled: boolean;
    name: string;
    region: string;
}
export interface IUsages {
    loadBalancers: ILoadBalancerUsage[];
    serverGroups: IServerGroupUsage[];
}
export interface ISecurityGroup extends IManagedResource {
    account?: string;
    accountId?: string;
    accountName?: string;
    application?: string;
    cloudProvider?: string;
    credentials?: string;
    detail?: string;
    entityTags?: IEntityTags;
    id?: string;
    inferredName?: boolean;
    moniker?: IMoniker;
    name?: string;
    provider?: string;
    region?: string;
    searchField?: string;
    stack?: string;
    type?: string;
    usages?: IUsages;
    vpcId?: string;
    vpcName?: string;
}
export interface ISecurityGroupGroup extends IManagedResource {
    heading: string;
    loadBalancers?: ILoadBalancer[];
    searchField?: string;
    securityGroup?: ISecurityGroup;
    serverGroups?: IServerGroup[];
    subgroups?: ISecurityGroupGroup[];
    vpcName?: string;
}
