import * as core from "@terrascript/core";
export interface EgressArgs extends core.SchemaArgs {
    action: string | core.StringOut;
    cidrBlock?: string | core.StringOut;
    fromPort: number | core.NumberOut;
    icmpCode?: number | core.NumberOut;
    icmpType?: number | core.NumberOut;
    ipv6CidrBlock?: string | core.StringOut;
    protocol: string | core.StringOut;
    ruleNo: number | core.NumberOut;
    toPort: number | core.NumberOut;
}
export declare class Egress extends core.Schema<EgressArgs> {
    action: string | core.StringOut;
    cidrBlock?: string | core.StringOut;
    fromPort: number | core.NumberOut;
    icmpCode?: number | core.NumberOut;
    icmpType?: number | core.NumberOut;
    ipv6CidrBlock?: string | core.StringOut;
    protocol: string | core.StringOut;
    ruleNo: number | core.NumberOut;
    toPort: number | core.NumberOut;
}
export interface IngressArgs extends core.SchemaArgs {
    action: string | core.StringOut;
    cidrBlock?: string | core.StringOut;
    fromPort: number | core.NumberOut;
    icmpCode?: number | core.NumberOut;
    icmpType?: number | core.NumberOut;
    ipv6CidrBlock?: string | core.StringOut;
    protocol: string | core.StringOut;
    ruleNo: number | core.NumberOut;
    toPort: number | core.NumberOut;
}
export declare class Ingress extends core.Schema<IngressArgs> {
    action: string | core.StringOut;
    cidrBlock?: string | core.StringOut;
    fromPort: number | core.NumberOut;
    icmpCode?: number | core.NumberOut;
    icmpType?: number | core.NumberOut;
    ipv6CidrBlock?: string | core.StringOut;
    protocol: string | core.StringOut;
    ruleNo: number | core.NumberOut;
    toPort: number | core.NumberOut;
}
export interface NetworkAclArgs extends core.ResourceArgs {
    egress?: core.Array<Egress> | core.ArrayOut<Egress>;
    ingress?: core.Array<Ingress> | core.ArrayOut<Ingress>;
    subnetIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcId: string | core.StringOut;
}
export declare class NetworkAcl extends core.Resource<NetworkAclArgs> {
    arn: string | core.StringOut;
    egress?: core.Array<Egress> | core.ArrayOut<Egress>;
    id: string | core.StringOut;
    ingress?: core.Array<Ingress> | core.ArrayOut<Ingress>;
    ownerId: string | core.StringOut;
    subnetIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    vpcId: string | core.StringOut;
    constructor(name: string, args?: NetworkAclArgs);
    getNamespace(): string;
}
//# sourceMappingURL=network_acl.d.ts.map