import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List } from "../../data-types";
export declare class Ingress {
    SourcePrefixListId?: Value<string>;
    SourceSecurityGroupOwnerId?: Value<string>;
    FromPort?: Value<number>;
    SourceSecurityGroupName?: Value<string>;
    CidrIpv6?: Value<string>;
    CidrIp?: Value<string>;
    ToPort?: Value<number>;
    Description?: Value<string>;
    IpProtocol: Value<string>;
    SourceSecurityGroupId?: Value<string>;
    constructor(properties: Ingress);
}
export declare class Egress {
    CidrIp?: Value<string>;
    CidrIpv6?: Value<string>;
    Description?: Value<string>;
    DestinationPrefixListId?: Value<string>;
    DestinationSecurityGroupId?: Value<string>;
    FromPort?: Value<number>;
    IpProtocol: Value<string>;
    ToPort?: Value<number>;
    constructor(properties: Egress);
}
export interface SecurityGroupProperties {
    GroupDescription: Value<string>;
    GroupName?: Value<string>;
    SecurityGroupEgress?: List<Egress>;
    SecurityGroupIngress?: List<Ingress>;
    Tags?: List<Inner_ResourceTag>;
    VpcId?: Value<string>;
}
export default class Inner_SecurityGroup extends ResourceBase<SecurityGroupProperties> {
    static Ingress: typeof Ingress;
    static Egress: typeof Egress;
    constructor(properties: SecurityGroupProperties);
}
