import * as core from "@terrascript/core";
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 OriginSnapshotArgs extends core.SchemaArgs {
    copyStrategy: string | core.StringOut;
    snapshotArn: string | core.StringOut;
}
export declare class OriginSnapshot extends core.Schema<OriginSnapshotArgs> {
    copyStrategy: string | core.StringOut;
    snapshotArn: string | core.StringOut;
}
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 OpenzfsVolumeArgs extends core.ResourceArgs {
    copyTagsToSnapshots?: boolean | core.BooleanOut;
    dataCompressionType?: string | core.StringOut;
    name: string | core.StringOut;
    nfsExports?: NfsExports;
    originSnapshot?: OriginSnapshot;
    parentVolumeId: string | core.StringOut;
    readOnly?: boolean | core.BooleanOut;
    recordSizeKib?: number | core.NumberOut;
    storageCapacityQuotaGib?: number | core.NumberOut;
    storageCapacityReservationGib?: number | core.NumberOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    userAndGroupQuotas?: core.Array<UserAndGroupQuotas> | core.ArrayOut<UserAndGroupQuotas>;
    volumeType?: string | core.StringOut;
}
export declare class OpenzfsVolume extends core.Resource<OpenzfsVolumeArgs> {
    arn: string | core.StringOut;
    copyTagsToSnapshots?: boolean | core.BooleanOut;
    dataCompressionType?: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    nfsExports?: NfsExports;
    originSnapshot?: OriginSnapshot;
    parentVolumeId: string | core.StringOut;
    readOnly?: boolean | core.BooleanOut;
    recordSizeKib?: number | core.NumberOut;
    storageCapacityQuotaGib?: number | core.NumberOut;
    storageCapacityReservationGib?: number | core.NumberOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    userAndGroupQuotas?: core.Array<UserAndGroupQuotas> | core.ArrayOut<UserAndGroupQuotas>;
    volumeType?: string | core.StringOut;
    constructor(name: string, args?: OpenzfsVolumeArgs);
    getNamespace(): string;
}
//# sourceMappingURL=openzfs_volume.d.ts.map