/**
 * Azure Storagepool API
 *
 * Generated from the Azure REST API specs.
 * DO NOT EDIT - regenerate with: bun run generate
 */
import * as Schema from "effect/Schema";
export declare const DiskPoolsCreateOrUpdateInput: Schema.Struct<{}>;
export type DiskPoolsCreateOrUpdateInput = typeof DiskPoolsCreateOrUpdateInput.Type;
export declare const DiskPoolsCreateOrUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
}>;
export type DiskPoolsCreateOrUpdateOutput = typeof DiskPoolsCreateOrUpdateOutput.Type;
/**
 * Create or Update Disk pool. This create or update operation can take 15 minutes to complete. This is expected service behavior.
 */
export declare const DiskPoolsCreateOrUpdate: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsDeallocateInput: Schema.Struct<{}>;
export type DiskPoolsDeallocateInput = typeof DiskPoolsDeallocateInput.Type;
export declare const DiskPoolsDeallocateOutput: Schema.Void;
export type DiskPoolsDeallocateOutput = typeof DiskPoolsDeallocateOutput.Type;
/**
 * Shuts down the Disk Pool and releases the compute resources. You are not billed for the compute resources that this Disk Pool uses. This operation can take 10 minutes to complete. This is expected service behavior.
 */
export declare const DiskPoolsDeallocate: import("@distilled.cloud/core/client").OperationMethod<{}, void, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsDeleteInput: Schema.Struct<{}>;
export type DiskPoolsDeleteInput = typeof DiskPoolsDeleteInput.Type;
export declare const DiskPoolsDeleteOutput: Schema.Void;
export type DiskPoolsDeleteOutput = typeof DiskPoolsDeleteOutput.Type;
/**
 * Delete a Disk pool; attached disks are not affected. This delete operation can take 10 minutes to complete. This is expected service behavior.
 */
export declare const DiskPoolsDelete: import("@distilled.cloud/core/client").OperationMethod<{}, void, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsGetInput: Schema.Struct<{}>;
export type DiskPoolsGetInput = typeof DiskPoolsGetInput.Type;
export declare const DiskPoolsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
}>;
export type DiskPoolsGetOutput = typeof DiskPoolsGetOutput.Type;
/**
 * Get a Disk pool.
 */
export declare const DiskPoolsGet: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsListByResourceGroupInput: Schema.Struct<{}>;
export type DiskPoolsListByResourceGroupInput = typeof DiskPoolsListByResourceGroupInput.Type;
export declare const DiskPoolsListByResourceGroupOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type DiskPoolsListByResourceGroupOutput = typeof DiskPoolsListByResourceGroupOutput.Type;
/**
 * Gets a list of DiskPools in a resource group.
 */
export declare const DiskPoolsListByResourceGroup: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsListBySubscriptionInput: Schema.Struct<{}>;
export type DiskPoolsListBySubscriptionInput = typeof DiskPoolsListBySubscriptionInput.Type;
export declare const DiskPoolsListBySubscriptionOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type DiskPoolsListBySubscriptionOutput = typeof DiskPoolsListBySubscriptionOutput.Type;
/**
 * Gets a list of Disk Pools in a subscription
 */
export declare const DiskPoolsListBySubscription: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsListOutboundNetworkDependenciesEndpointsInput: Schema.Struct<{}>;
export type DiskPoolsListOutboundNetworkDependenciesEndpointsInput = typeof DiskPoolsListOutboundNetworkDependenciesEndpointsInput.Type;
export declare const DiskPoolsListOutboundNetworkDependenciesEndpointsOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly category: Schema.optional<Schema.String>;
        readonly endpoints: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly domainName: Schema.optional<Schema.String>;
            readonly endpointDetails: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly ipAddress: Schema.optional<Schema.String>;
                readonly port: Schema.optional<Schema.Number>;
                readonly latency: Schema.optional<Schema.Number>;
                readonly isAccessible: Schema.optional<Schema.Boolean>;
            }>>>;
        }>>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type DiskPoolsListOutboundNetworkDependenciesEndpointsOutput = typeof DiskPoolsListOutboundNetworkDependenciesEndpointsOutput.Type;
/**
 * Gets the network endpoints of all outbound dependencies of a Disk Pool
 */
export declare const DiskPoolsListOutboundNetworkDependenciesEndpoints: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly category?: string | undefined;
        readonly endpoints?: readonly {
            readonly domainName?: string | undefined;
            readonly endpointDetails?: readonly {
                readonly ipAddress?: string | undefined;
                readonly isAccessible?: boolean | undefined;
                readonly latency?: number | undefined;
                readonly port?: number | undefined;
            }[] | undefined;
        }[] | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsStartInput: Schema.Struct<{}>;
export type DiskPoolsStartInput = typeof DiskPoolsStartInput.Type;
export declare const DiskPoolsStartOutput: Schema.Void;
export type DiskPoolsStartOutput = typeof DiskPoolsStartOutput.Type;
/**
 * The operation to start a Disk Pool. This start operation can take 10 minutes to complete. This is expected service behavior.
 */
export declare const DiskPoolsStart: import("@distilled.cloud/core/client").OperationMethod<{}, void, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsUpdateInput: Schema.Struct<{}>;
export type DiskPoolsUpdateInput = typeof DiskPoolsUpdateInput.Type;
export declare const DiskPoolsUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
}>;
export type DiskPoolsUpdateOutput = typeof DiskPoolsUpdateOutput.Type;
/**
 * Update a Disk pool.
 */
export declare const DiskPoolsUpdate: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolsUpgradeInput: Schema.Struct<{}>;
export type DiskPoolsUpgradeInput = typeof DiskPoolsUpgradeInput.Type;
export declare const DiskPoolsUpgradeOutput: Schema.Void;
export type DiskPoolsUpgradeOutput = typeof DiskPoolsUpgradeOutput.Type;
/**
 * Upgrade replaces the underlying virtual machine hosts one at a time. This operation can take 10-15 minutes to complete. This is expected service behavior.
 */
export declare const DiskPoolsUpgrade: import("@distilled.cloud/core/client").OperationMethod<{}, void, never, import("../credentials.ts").Credentials>;
export declare const DiskPoolZonesListInput: Schema.Struct<{}>;
export type DiskPoolZonesListInput = typeof DiskPoolZonesListInput.Type;
export declare const DiskPoolZonesListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly availabilityZones: Schema.optional<Schema.$Array<Schema.String>>;
        readonly additionalCapabilities: Schema.optional<Schema.$Array<Schema.String>>;
        readonly sku: Schema.optional<Schema.Struct<{
            readonly name: Schema.String;
            readonly tier: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type DiskPoolZonesListOutput = typeof DiskPoolZonesListOutput.Type;
/**
 * Lists available Disk Pool Skus in an Azure location.
 */
export declare const DiskPoolZonesList: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly additionalCapabilities?: readonly string[] | undefined;
        readonly availabilityZones?: readonly string[] | undefined;
        readonly sku?: {
            readonly name: string;
            readonly tier?: string | undefined;
        } | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const IscsiTargetsCreateOrUpdateInput: Schema.Struct<{}>;
export type IscsiTargetsCreateOrUpdateInput = typeof IscsiTargetsCreateOrUpdateInput.Type;
export declare const IscsiTargetsCreateOrUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
}>;
export type IscsiTargetsCreateOrUpdateOutput = typeof IscsiTargetsCreateOrUpdateOutput.Type;
/**
 * Create or Update an iSCSI Target.
 */
export declare const IscsiTargetsCreateOrUpdate: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const IscsiTargetsDeleteInput: Schema.Struct<{}>;
export type IscsiTargetsDeleteInput = typeof IscsiTargetsDeleteInput.Type;
export declare const IscsiTargetsDeleteOutput: Schema.Void;
export type IscsiTargetsDeleteOutput = typeof IscsiTargetsDeleteOutput.Type;
/**
 * Delete an iSCSI Target.
 */
export declare const IscsiTargetsDelete: import("@distilled.cloud/core/client").OperationMethod<{}, void, never, import("../credentials.ts").Credentials>;
export declare const IscsiTargetsGetInput: Schema.Struct<{}>;
export type IscsiTargetsGetInput = typeof IscsiTargetsGetInput.Type;
export declare const IscsiTargetsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
}>;
export type IscsiTargetsGetOutput = typeof IscsiTargetsGetOutput.Type;
/**
 * Get an iSCSI Target.
 */
export declare const IscsiTargetsGet: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const IscsiTargetsListByDiskPoolInput: Schema.Struct<{}>;
export type IscsiTargetsListByDiskPoolInput = typeof IscsiTargetsListByDiskPoolInput.Type;
export declare const IscsiTargetsListByDiskPoolOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type IscsiTargetsListByDiskPoolOutput = typeof IscsiTargetsListByDiskPoolOutput.Type;
/**
 * Get iSCSI Targets in a Disk pool.
 */
export declare const IscsiTargetsListByDiskPool: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const IscsiTargetsUpdateInput: Schema.Struct<{}>;
export type IscsiTargetsUpdateInput = typeof IscsiTargetsUpdateInput.Type;
export declare const IscsiTargetsUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
}>;
export type IscsiTargetsUpdateOutput = typeof IscsiTargetsUpdateOutput.Type;
/**
 * Update an iSCSI Target.
 */
export declare const IscsiTargetsUpdate: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const OperationsListInput: Schema.Struct<{}>;
export type OperationsListInput = typeof OperationsListInput.Type;
export declare const OperationsListOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly name: Schema.String;
        readonly isDataAction: Schema.Boolean;
        readonly actionType: Schema.optional<Schema.String>;
        readonly display: Schema.Struct<{
            readonly provider: Schema.String;
            readonly resource: Schema.String;
            readonly operation: Schema.String;
            readonly description: Schema.String;
        }>;
        readonly origin: Schema.optional<Schema.String>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type OperationsListOutput = typeof OperationsListOutput.Type;
/**
 * Gets a list of StoragePool operations.
 */
export declare const OperationsList: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly actionType?: string | undefined;
        readonly display: {
            readonly description: string;
            readonly operation: string;
            readonly provider: string;
            readonly resource: string;
        };
        readonly isDataAction: boolean;
        readonly name: string;
        readonly origin?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const ResourceSkusListInput: Schema.Struct<{}>;
export type ResourceSkusListInput = typeof ResourceSkusListInput.Type;
export declare const ResourceSkusListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly apiVersion: Schema.optional<Schema.String>;
        readonly resourceType: Schema.optional<Schema.String>;
        readonly capabilities: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly name: Schema.optional<Schema.String>;
            readonly value: Schema.optional<Schema.String>;
        }>>>;
        readonly locationInfo: Schema.optional<Schema.Struct<{
            readonly location: Schema.optional<Schema.String>;
            readonly zones: Schema.optional<Schema.$Array<Schema.String>>;
            readonly zoneDetails: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly name: Schema.optional<Schema.$Array<Schema.String>>;
                readonly capabilities: Schema.optional<Schema.$Array<Schema.Struct<{
                    readonly name: Schema.optional<Schema.String>;
                    readonly value: Schema.optional<Schema.String>;
                }>>>;
            }>>>;
        }>>;
        readonly name: Schema.optional<Schema.String>;
        readonly tier: Schema.optional<Schema.String>;
        readonly restrictions: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly type: Schema.optional<Schema.Literals<readonly ["Location", "Zone"]>>;
            readonly values: Schema.optional<Schema.$Array<Schema.String>>;
            readonly restrictionInfo: Schema.optional<Schema.Struct<{
                readonly locations: Schema.optional<Schema.$Array<Schema.String>>;
                readonly zones: Schema.optional<Schema.$Array<Schema.String>>;
            }>>;
            readonly reasonCode: Schema.optional<Schema.Literals<readonly ["QuotaId", "NotAvailableForSubscription"]>>;
        }>>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type ResourceSkusListOutput = typeof ResourceSkusListOutput.Type;
/**
 * Lists available StoragePool resources and skus in an Azure location.
 */
export declare const ResourceSkusList: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly apiVersion?: string | undefined;
        readonly capabilities?: readonly {
            readonly name?: string | undefined;
            readonly value?: string | undefined;
        }[] | undefined;
        readonly locationInfo?: {
            readonly location?: string | undefined;
            readonly zoneDetails?: readonly {
                readonly capabilities?: readonly {
                    readonly name?: string | undefined;
                    readonly value?: string | undefined;
                }[] | undefined;
                readonly name?: readonly string[] | undefined;
            }[] | undefined;
            readonly zones?: readonly string[] | undefined;
        } | undefined;
        readonly name?: string | undefined;
        readonly resourceType?: string | undefined;
        readonly restrictions?: readonly {
            readonly reasonCode?: "NotAvailableForSubscription" | "QuotaId" | undefined;
            readonly restrictionInfo?: {
                readonly locations?: readonly string[] | undefined;
                readonly zones?: readonly string[] | undefined;
            } | undefined;
            readonly type?: "Location" | "Zone" | undefined;
            readonly values?: readonly string[] | undefined;
        }[] | undefined;
        readonly tier?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=storagepool.d.ts.map