import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString";
import type { AwsResourceCommon, CloudFormationTags } from "../common";
import type { CloudFormationValue } from "../IntrinsicFunctions";
import type { SecurityGroupEgressProperties } from "./SecurityGroupEngress";
import type { SecurityGroupIngressProperties } from "./SecurityGroupIngress";
export declare type SecurityGroupType = 'AWS::EC2::SecurityGroup';
export interface SecurityGroupProperties {
    GroupDescription: NonEmptyString;
    GroupName?: CloudFormationValue<NonEmptyString>;
    SecurityGroupEgress?: SecurityGroupEgressProperties[];
    SecurityGroupIngress?: SecurityGroupIngressProperties[];
    Tags?: CloudFormationTags;
    VpcId?: NonEmptyString;
}
export interface SecurityGroup extends AwsResourceCommon {
    Type: SecurityGroupType;
    Properties: SecurityGroupProperties;
}
