import * as core from "@terrascript/core";
export interface DiskIopsConfigurationArgs extends core.SchemaArgs {
    iops?: number | core.NumberOut;
    mode?: string | core.StringOut;
}
export declare class DiskIopsConfiguration extends core.Schema<DiskIopsConfigurationArgs> {
    iops?: number | core.NumberOut;
    mode?: string | core.StringOut;
}
export interface ClientConfigurationsArgs extends core.SchemaArgs {
    clients: string | core.StringOut;
    options: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class ClientConfigurations extends core.Schema<ClientConfigurationsArgs> {
    clients: string | core.StringOut;
    options: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface NfsExportsArgs extends core.SchemaArgs {
    clientConfigurations: core.Array<ClientConfigurations> | core.ArrayOut<ClientConfigurations>;
}
export declare class NfsExports extends core.Schema<NfsExportsArgs> {
    clientConfigurations: core.Array<ClientConfigurations> | core.ArrayOut<ClientConfigurations>;
}
export interface UserAndGroupQuotasArgs extends core.SchemaArgs {
    id: number | core.NumberOut;
    storageCapacityQuotaGib: number | core.NumberOut;
    type: string | core.StringOut;
}
export declare class UserAndGroupQuotas extends core.Schema<UserAndGroupQuotasArgs> {
    id: number | core.NumberOut;
    storageCapacityQuotaGib: number | core.NumberOut;
    type: string | core.StringOut;
}
export interface RootVolumeConfigurationArgs extends core.SchemaArgs {
    copyTagsToSnapshots?: boolean | core.BooleanOut;
    dataCompressionType?: string | core.StringOut;
    nfsExports?: NfsExports;
    readOnly?: boolean | core.BooleanOut;
    recordSizeKib?: number | core.NumberOut;
    userAndGroupQuotas?: core.Array<UserAndGroupQuotas> | core.ArrayOut<UserAndGroupQuotas>;
}
export declare class RootVolumeConfiguration extends core.Schema<RootVolumeConfigurationArgs> {
    copyTagsToSnapshots?: boolean | core.BooleanOut;
    dataCompressionType?: string | core.StringOut;
    nfsExports?: NfsExports;
    readOnly?: boolean | core.BooleanOut;
    recordSizeKib?: number | core.NumberOut;
    userAndGroupQuotas?: core.Array<UserAndGroupQuotas> | core.ArrayOut<UserAndGroupQuotas>;
}
export interface OpenzfsFileSystemArgs extends core.ResourceArgs {
    automaticBackupRetentionDays?: number | core.NumberOut;
    backupId?: string | core.StringOut;
    copyTagsToBackups?: boolean | core.BooleanOut;
    copyTagsToVolumes?: boolean | core.BooleanOut;
    dailyAutomaticBackupStartTime?: string | core.StringOut;
    deploymentType: string | core.StringOut;
    diskIopsConfiguration?: DiskIopsConfiguration;
    kmsKeyId?: string | core.StringOut;
    rootVolumeConfiguration?: RootVolumeConfiguration;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    storageCapacity?: number | core.NumberOut;
    storageType?: 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>;
    throughputCapacity: number | core.NumberOut;
    weeklyMaintenanceStartTime?: string | core.StringOut;
}
export declare class OpenzfsFileSystem extends core.Resource<OpenzfsFileSystemArgs> {
    arn: string | core.StringOut;
    automaticBackupRetentionDays?: number | core.NumberOut;
    backupId?: string | core.StringOut;
    copyTagsToBackups?: boolean | core.BooleanOut;
    copyTagsToVolumes?: boolean | core.BooleanOut;
    dailyAutomaticBackupStartTime?: string | core.StringOut;
    deploymentType: string | core.StringOut;
    diskIopsConfiguration?: DiskIopsConfiguration;
    dnsName: string | core.StringOut;
    id: string | core.StringOut;
    kmsKeyId?: string | core.StringOut;
    networkInterfaceIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    ownerId: string | core.StringOut;
    rootVolumeConfiguration?: RootVolumeConfiguration;
    rootVolumeId: string | core.StringOut;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    storageCapacity?: number | core.NumberOut;
    storageType?: 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>;
    throughputCapacity: number | core.NumberOut;
    vpcId: string | core.StringOut;
    weeklyMaintenanceStartTime?: string | core.StringOut;
    constructor(name: string, args?: OpenzfsFileSystemArgs);
    getNamespace(): string;
}
//# sourceMappingURL=openzfs_file_system.d.ts.map