import * as core from "@terrascript/core";
export interface AttachmentArgs extends core.SchemaArgs {
    endpointId: string | core.StringOut;
    status: string | core.StringOut;
    subnetId: string | core.StringOut;
}
export declare class Attachment extends core.Schema<AttachmentArgs> {
    endpointId: string | core.StringOut;
    status: 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 IpSetReferencesArgs extends core.SchemaArgs {
    resolvedCidrCount: number | core.NumberOut;
}
export declare class IpSetReferences extends core.Schema<IpSetReferencesArgs> {
    resolvedCidrCount: number | core.NumberOut;
}
export interface CidrsArgs extends core.SchemaArgs {
    availableCidrCount: number | core.NumberOut;
    ipSetReferences: core.Array<IpSetReferences> | core.ArrayOut<IpSetReferences>;
    utilizedCidrCount: number | core.NumberOut;
}
export declare class Cidrs extends core.Schema<CidrsArgs> {
    availableCidrCount: number | core.NumberOut;
    ipSetReferences: core.Array<IpSetReferences> | core.ArrayOut<IpSetReferences>;
    utilizedCidrCount: number | core.NumberOut;
}
export interface CapacityUsageSummaryArgs extends core.SchemaArgs {
    cidrs: core.Array<Cidrs> | core.ArrayOut<Cidrs>;
}
export declare class CapacityUsageSummary extends core.Schema<CapacityUsageSummaryArgs> {
    cidrs: core.Array<Cidrs> | core.ArrayOut<Cidrs>;
}
export interface FirewallStatusArgs extends core.SchemaArgs {
    capacityUsageSummary: core.Array<CapacityUsageSummary> | core.ArrayOut<CapacityUsageSummary>;
    configurationSyncStateSummary: string | core.StringOut;
    status: string | core.StringOut;
    syncStates: core.Array<SyncStates> | core.ArrayOut<SyncStates>;
}
export declare class FirewallStatus extends core.Schema<FirewallStatusArgs> {
    capacityUsageSummary: core.Array<CapacityUsageSummary> | core.ArrayOut<CapacityUsageSummary>;
    configurationSyncStateSummary: string | core.StringOut;
    status: string | core.StringOut;
    syncStates: core.Array<SyncStates> | core.ArrayOut<SyncStates>;
}
export interface SubnetMappingArgs extends core.SchemaArgs {
    subnetId: string | core.StringOut;
}
export declare class SubnetMapping extends core.Schema<SubnetMappingArgs> {
    subnetId: string | core.StringOut;
}
export interface EncryptionConfigurationArgs extends core.SchemaArgs {
    keyId: string | core.StringOut;
    type: string | core.StringOut;
}
export declare class EncryptionConfiguration extends core.Schema<EncryptionConfigurationArgs> {
    keyId: string | core.StringOut;
    type: string | core.StringOut;
}
export interface DsFirewallArgs {
    arn?: string | core.StringOut;
    name?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsFirewall extends core.Data<DsFirewallArgs> {
    arn?: string | core.StringOut;
    deleteProtection: boolean | core.BooleanOut;
    description: string | core.StringOut;
    encryptionConfiguration: core.Array<EncryptionConfiguration> | core.ArrayOut<EncryptionConfiguration>;
    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>;
    updateToken: string | core.StringOut;
    vpcId: string | core.StringOut;
    constructor(name: string, args?: DsFirewallArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_firewall.d.ts.map