import * as core from "@terrascript/core";
export interface SubnetMappingArgs extends core.SchemaArgs {
    subnetId: string | core.StringOut;
}
export declare class SubnetMapping extends core.Schema<SubnetMappingArgs> {
    subnetId: string | core.StringOut;
}
export interface AttachmentArgs extends core.SchemaArgs {
    endpointId: string | core.StringOut;
    subnetId: string | core.StringOut;
}
export declare class Attachment extends core.Schema<AttachmentArgs> {
    endpointId: string | core.StringOut;
    subnetId: string | core.StringOut;
}
export interface SyncStatesArgs extends core.SchemaArgs {
    attachment: core.Array<Attachment> | core.ArrayOut<Attachment>;
    availabilityZone: string | core.StringOut;
}
export declare class SyncStates extends core.Schema<SyncStatesArgs> {
    attachment: core.Array<Attachment> | core.ArrayOut<Attachment>;
    availabilityZone: string | core.StringOut;
}
export interface FirewallStatusArgs extends core.SchemaArgs {
    syncStates: core.Array<SyncStates> | core.ArrayOut<SyncStates>;
}
export declare class FirewallStatus extends core.Schema<FirewallStatusArgs> {
    syncStates: core.Array<SyncStates> | core.ArrayOut<SyncStates>;
}
export interface FirewallArgs extends core.ResourceArgs {
    deleteProtection?: boolean | core.BooleanOut;
    description?: string | core.StringOut;
    firewallPolicyArn: string | core.StringOut;
    firewallPolicyChangeProtection?: boolean | core.BooleanOut;
    name: string | core.StringOut;
    subnetChangeProtection?: boolean | core.BooleanOut;
    subnetMapping: core.Array<SubnetMapping> | core.ArrayOut<SubnetMapping>;
    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 Firewall extends core.Resource<FirewallArgs> {
    arn: string | core.StringOut;
    deleteProtection?: boolean | core.BooleanOut;
    description?: string | core.StringOut;
    firewallPolicyArn: string | core.StringOut;
    firewallPolicyChangeProtection?: boolean | core.BooleanOut;
    firewallStatus: core.Array<FirewallStatus> | core.ArrayOut<FirewallStatus>;
    id: string | core.StringOut;
    name: string | core.StringOut;
    subnetChangeProtection?: boolean | core.BooleanOut;
    subnetMapping: core.Array<SubnetMapping> | core.ArrayOut<SubnetMapping>;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    updateToken: string | core.StringOut;
    vpcId: string | core.StringOut;
    constructor(name: string, args?: FirewallArgs);
    getNamespace(): string;
}
//# sourceMappingURL=firewall.d.ts.map