/**
 * Azure Reservations 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 CalculateExchangePostInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type CalculateExchangePostInput = typeof CalculateExchangePostInput.Type;
export declare const CalculateExchangePostOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly status: Schema.optional<Schema.Literals<readonly ["Succeeded", "Failed", "Cancelled", "Pending"]>>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly sessionId: Schema.optional<Schema.String>;
        readonly netPayable: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly refundsTotal: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly purchasesTotal: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly reservationsToPurchase: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly properties: Schema.optional<Schema.Struct<{
                readonly sku: Schema.optional<Schema.Struct<{
                    readonly name: Schema.optional<Schema.String>;
                }>>;
                readonly location: Schema.optional<Schema.String>;
                readonly properties: Schema.optional<Schema.Struct<{
                    readonly reservedResourceType: Schema.optional<Schema.Literals<readonly ["VirtualMachines", "SqlDatabases", "SuseLinux", "CosmosDb", "RedHat", "SqlDataWarehouse", "VMwareCloudSimple", "RedHatOsa", "Databricks", "AppService", "ManagedDisk", "BlockBlob", "RedisCache", "AzureDataExplorer", "MySql", "MariaDb", "PostgreSql", "DedicatedHost", "SapHana", "SqlAzureHybridBenefit", "AVS", "DataFactory", "NetAppStorage", "AzureFiles", "SqlEdge", "VirtualMachineSoftware"]>>;
                    readonly billingScopeId: Schema.optional<Schema.String>;
                    readonly term: Schema.optional<Schema.Literals<readonly ["P1Y", "P3Y", "P5Y"]>>;
                    readonly billingPlan: Schema.optional<Schema.Literals<readonly ["Upfront", "Monthly"]>>;
                    readonly quantity: Schema.optional<Schema.Number>;
                    readonly displayName: Schema.optional<Schema.String>;
                    readonly appliedScopeType: Schema.optional<Schema.Literals<readonly ["Single", "Shared", "ManagementGroup"]>>;
                    readonly appliedScopes: Schema.optional<Schema.$Array<Schema.String>>;
                    readonly appliedScopeProperties: Schema.optional<Schema.Struct<{
                        readonly tenantId: Schema.optional<Schema.String>;
                        readonly managementGroupId: Schema.optional<Schema.String>;
                        readonly subscriptionId: Schema.optional<Schema.String>;
                        readonly resourceGroupId: Schema.optional<Schema.String>;
                        readonly displayName: Schema.optional<Schema.String>;
                    }>>;
                    readonly renew: Schema.optional<Schema.Boolean>;
                    readonly reservedResourceProperties: Schema.optional<Schema.Struct<{
                        readonly instanceFlexibility: Schema.optional<Schema.Literals<readonly ["On", "Off"]>>;
                    }>>;
                    readonly reviewDateTime: Schema.optional<Schema.String>;
                }>>;
            }>>;
            readonly billingCurrencyTotal: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
        }>>>;
        readonly savingsPlansToPurchase: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly properties: Schema.optional<Schema.Struct<{
                readonly sku: Schema.optional<Schema.Struct<{
                    readonly name: Schema.optional<Schema.String>;
                }>>;
                readonly properties: Schema.optional<Schema.Struct<{
                    readonly displayName: Schema.optional<Schema.String>;
                    readonly billingScopeId: Schema.optional<Schema.String>;
                    readonly term: Schema.optional<Schema.Literals<readonly ["P1Y", "P3Y"]>>;
                    readonly billingPlan: Schema.optional<Schema.Literals<readonly ["P1M"]>>;
                    readonly appliedScopeType: Schema.optional<Schema.Literals<readonly ["Single", "Shared", "ManagementGroup"]>>;
                    readonly appliedScopeProperties: Schema.optional<Schema.Struct<{
                        readonly tenantId: Schema.optional<Schema.String>;
                        readonly managementGroupId: Schema.optional<Schema.String>;
                        readonly subscriptionId: Schema.optional<Schema.String>;
                        readonly resourceGroupId: Schema.optional<Schema.String>;
                        readonly displayName: Schema.optional<Schema.String>;
                    }>>;
                    readonly commitment: Schema.optional<Schema.Struct<{
                        readonly currencyCode: Schema.optional<Schema.String>;
                        readonly amount: Schema.optional<Schema.Number>;
                    }>>;
                }>>;
            }>>;
            readonly billingCurrencyTotal: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
        }>>>;
        readonly reservationsToExchange: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly reservationId: Schema.optional<Schema.String>;
            readonly quantity: Schema.optional<Schema.Number>;
            readonly billingRefundAmount: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly billingInformation: Schema.optional<Schema.Struct<{
                readonly billingCurrencyTotalPaidAmount: Schema.optional<Schema.Struct<{
                    readonly currencyCode: Schema.optional<Schema.String>;
                    readonly amount: Schema.optional<Schema.Number>;
                }>>;
                readonly billingCurrencyProratedAmount: Schema.optional<Schema.Struct<{
                    readonly currencyCode: Schema.optional<Schema.String>;
                    readonly amount: Schema.optional<Schema.Number>;
                }>>;
                readonly billingCurrencyRemainingCommitmentAmount: Schema.optional<Schema.Struct<{
                    readonly currencyCode: Schema.optional<Schema.String>;
                    readonly amount: Schema.optional<Schema.Number>;
                }>>;
            }>>;
        }>>>;
        readonly policyResult: Schema.optional<Schema.Struct<{
            readonly policyErrors: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly code: Schema.optional<Schema.String>;
                readonly message: Schema.optional<Schema.String>;
            }>>>;
        }>>;
    }>>;
    readonly error: Schema.optional<Schema.Struct<{
        readonly code: Schema.optional<Schema.String>;
        readonly message: Schema.optional<Schema.String>;
    }>>;
}>;
export type CalculateExchangePostOutput = typeof CalculateExchangePostOutput.Type;
/**
 * Calculates the refund amounts and price of the new purchases.
 *
 * Calculates price for exchanging `Reservations` if there are no policy errors.
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const CalculateExchangePost: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly error?: {
        readonly code?: string | undefined;
        readonly message?: string | undefined;
    } | undefined;
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly netPayable?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly policyResult?: {
            readonly policyErrors?: readonly {
                readonly code?: string | undefined;
                readonly message?: string | undefined;
            }[] | undefined;
        } | undefined;
        readonly purchasesTotal?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly refundsTotal?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly reservationsToExchange?: readonly {
            readonly billingInformation?: {
                readonly billingCurrencyProratedAmount?: {
                    readonly amount?: number | undefined;
                    readonly currencyCode?: string | undefined;
                } | undefined;
                readonly billingCurrencyRemainingCommitmentAmount?: {
                    readonly amount?: number | undefined;
                    readonly currencyCode?: string | undefined;
                } | undefined;
                readonly billingCurrencyTotalPaidAmount?: {
                    readonly amount?: number | undefined;
                    readonly currencyCode?: string | undefined;
                } | undefined;
            } | undefined;
            readonly billingRefundAmount?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly quantity?: number | undefined;
            readonly reservationId?: string | undefined;
        }[] | undefined;
        readonly reservationsToPurchase?: readonly {
            readonly billingCurrencyTotal?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly properties?: {
                readonly location?: string | undefined;
                readonly properties?: {
                    readonly appliedScopeProperties?: {
                        readonly displayName?: string | undefined;
                        readonly managementGroupId?: string | undefined;
                        readonly resourceGroupId?: string | undefined;
                        readonly subscriptionId?: string | undefined;
                        readonly tenantId?: string | undefined;
                    } | undefined;
                    readonly appliedScopeType?: "ManagementGroup" | "Shared" | "Single" | undefined;
                    readonly appliedScopes?: readonly string[] | undefined;
                    readonly billingPlan?: "Monthly" | "Upfront" | undefined;
                    readonly billingScopeId?: string | undefined;
                    readonly displayName?: string | undefined;
                    readonly quantity?: number | undefined;
                    readonly renew?: boolean | undefined;
                    readonly reservedResourceProperties?: {
                        readonly instanceFlexibility?: "Off" | "On" | undefined;
                    } | undefined;
                    readonly reservedResourceType?: "AVS" | "AppService" | "AzureDataExplorer" | "AzureFiles" | "BlockBlob" | "CosmosDb" | "DataFactory" | "Databricks" | "DedicatedHost" | "ManagedDisk" | "MariaDb" | "MySql" | "NetAppStorage" | "PostgreSql" | "RedHat" | "RedHatOsa" | "RedisCache" | "SapHana" | "SqlAzureHybridBenefit" | "SqlDataWarehouse" | "SqlDatabases" | "SqlEdge" | "SuseLinux" | "VMwareCloudSimple" | "VirtualMachineSoftware" | "VirtualMachines" | undefined;
                    readonly reviewDateTime?: string | undefined;
                    readonly term?: "P1Y" | "P3Y" | "P5Y" | undefined;
                } | undefined;
                readonly sku?: {
                    readonly name?: string | undefined;
                } | undefined;
            } | undefined;
        }[] | undefined;
        readonly savingsPlansToPurchase?: readonly {
            readonly billingCurrencyTotal?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly properties?: {
                readonly properties?: {
                    readonly appliedScopeProperties?: {
                        readonly displayName?: string | undefined;
                        readonly managementGroupId?: string | undefined;
                        readonly resourceGroupId?: string | undefined;
                        readonly subscriptionId?: string | undefined;
                        readonly tenantId?: string | undefined;
                    } | undefined;
                    readonly appliedScopeType?: "ManagementGroup" | "Shared" | "Single" | undefined;
                    readonly billingPlan?: "P1M" | undefined;
                    readonly billingScopeId?: string | undefined;
                    readonly commitment?: {
                        readonly amount?: number | undefined;
                        readonly currencyCode?: string | undefined;
                    } | undefined;
                    readonly displayName?: string | undefined;
                    readonly term?: "P1Y" | "P3Y" | undefined;
                } | undefined;
                readonly sku?: {
                    readonly name?: string | undefined;
                } | undefined;
            } | undefined;
        }[] | undefined;
        readonly sessionId?: string | undefined;
    } | undefined;
    readonly status?: "Cancelled" | "Failed" | "Pending" | "Succeeded" | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const CalculateRefundPostInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type CalculateRefundPostInput = typeof CalculateRefundPostInput.Type;
export declare const CalculateRefundPostOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly sessionId: Schema.optional<Schema.String>;
        readonly quantity: Schema.optional<Schema.Number>;
        readonly billingRefundAmount: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly pricingRefundAmount: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly policyResult: Schema.optional<Schema.Struct<{
            readonly properties: Schema.optional<Schema.Struct<{
                readonly consumedRefundsTotal: Schema.optional<Schema.Struct<{
                    readonly currencyCode: Schema.optional<Schema.String>;
                    readonly amount: Schema.optional<Schema.Number>;
                }>>;
                readonly maxRefundLimit: Schema.optional<Schema.Struct<{
                    readonly currencyCode: Schema.optional<Schema.String>;
                    readonly amount: Schema.optional<Schema.Number>;
                }>>;
                readonly policyErrors: Schema.optional<Schema.$Array<Schema.Struct<{
                    readonly code: Schema.optional<Schema.Literals<readonly ["NotSpecified", "InternalServerError", "ServerTimeout", "AuthorizationFailed", "BadRequest", "ClientCertificateThumbprintNotSet", "InvalidRequestContent", "OperationFailed", "HttpMethodNotSupported", "InvalidRequestUri", "MissingTenantId", "InvalidTenantId", "InvalidReservationOrderId", "InvalidReservationId", "ReservationIdNotInReservationOrder", "ReservationOrderNotFound", "InvalidSubscriptionId", "InvalidAccessToken", "InvalidLocationId", "UnauthenticatedRequestsThrottled", "InvalidHealthCheckType", "Forbidden", "BillingScopeIdCannotBeChanged", "AppliedScopesNotAssociatedWithCommerceAccount", "PatchValuesSameAsExisting", "RoleAssignmentCreationFailed", "ReservationOrderCreationFailed", "ReservationOrderNotEnabled", "CapacityUpdateScopesFailed", "UnsupportedReservationTerm", "ReservationOrderIdAlreadyExists", "RiskCheckFailed", "CreateQuoteFailed", "ActivateQuoteFailed", "NonsupportedAccountId", "PaymentInstrumentNotFound", "MissingAppliedScopesForSingle", "NoValidReservationsToReRate", "ReRateOnlyAllowedForEA", "OperationCannotBePerformedInCurrentState", "InvalidSingleAppliedScopesCount", "InvalidFulfillmentRequestParameters", "NotSupportedCountry", "InvalidRefundQuantity", "PurchaseError", "BillingCustomerInputError", "BillingPaymentInstrumentSoftError", "BillingPaymentInstrumentHardError", "BillingTransientError", "BillingError", "FulfillmentConfigurationError", "FulfillmentOutOfStockError", "FulfillmentTransientError", "FulfillmentError", "CalculatePriceFailed", "AppliedScopesSameAsExisting", "SelfServiceRefundNotSupported", "RefundLimitExceeded"]>>;
                    readonly message: Schema.optional<Schema.String>;
                }>>>;
            }>>;
        }>>;
        readonly billingInformation: Schema.optional<Schema.Struct<{
            readonly billingPlan: Schema.optional<Schema.Literals<readonly ["Upfront", "Monthly"]>>;
            readonly completedTransactions: Schema.optional<Schema.Number>;
            readonly totalTransactions: Schema.optional<Schema.Number>;
            readonly billingCurrencyTotalPaidAmount: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly billingCurrencyProratedAmount: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly billingCurrencyRemainingCommitmentAmount: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
        }>>;
    }>>;
}>;
export type CalculateRefundPostOutput = typeof CalculateRefundPostOutput.Type;
/**
 * Calculate the refund amount of a reservation order.
 *
 * Calculate price for returning `Reservations` if there are no policy errors.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 */
export declare const CalculateRefundPost: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationOrderId: string;
}, {
    readonly id?: string | undefined;
    readonly properties?: {
        readonly billingInformation?: {
            readonly billingCurrencyProratedAmount?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly billingCurrencyRemainingCommitmentAmount?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly billingCurrencyTotalPaidAmount?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly billingPlan?: "Monthly" | "Upfront" | undefined;
            readonly completedTransactions?: number | undefined;
            readonly totalTransactions?: number | undefined;
        } | undefined;
        readonly billingRefundAmount?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly policyResult?: {
            readonly properties?: {
                readonly consumedRefundsTotal?: {
                    readonly amount?: number | undefined;
                    readonly currencyCode?: string | undefined;
                } | undefined;
                readonly maxRefundLimit?: {
                    readonly amount?: number | undefined;
                    readonly currencyCode?: string | undefined;
                } | undefined;
                readonly policyErrors?: readonly {
                    readonly code?: "ActivateQuoteFailed" | "AppliedScopesNotAssociatedWithCommerceAccount" | "AppliedScopesSameAsExisting" | "AuthorizationFailed" | "BadRequest" | "BillingCustomerInputError" | "BillingError" | "BillingPaymentInstrumentHardError" | "BillingPaymentInstrumentSoftError" | "BillingScopeIdCannotBeChanged" | "BillingTransientError" | "CalculatePriceFailed" | "CapacityUpdateScopesFailed" | "ClientCertificateThumbprintNotSet" | "CreateQuoteFailed" | "Forbidden" | "FulfillmentConfigurationError" | "FulfillmentError" | "FulfillmentOutOfStockError" | "FulfillmentTransientError" | "HttpMethodNotSupported" | "InternalServerError" | "InvalidAccessToken" | "InvalidFulfillmentRequestParameters" | "InvalidHealthCheckType" | "InvalidLocationId" | "InvalidRefundQuantity" | "InvalidRequestContent" | "InvalidRequestUri" | "InvalidReservationId" | "InvalidReservationOrderId" | "InvalidSingleAppliedScopesCount" | "InvalidSubscriptionId" | "InvalidTenantId" | "MissingAppliedScopesForSingle" | "MissingTenantId" | "NoValidReservationsToReRate" | "NonsupportedAccountId" | "NotSpecified" | "NotSupportedCountry" | "OperationCannotBePerformedInCurrentState" | "OperationFailed" | "PatchValuesSameAsExisting" | "PaymentInstrumentNotFound" | "PurchaseError" | "ReRateOnlyAllowedForEA" | "RefundLimitExceeded" | "ReservationIdNotInReservationOrder" | "ReservationOrderCreationFailed" | "ReservationOrderIdAlreadyExists" | "ReservationOrderNotEnabled" | "ReservationOrderNotFound" | "RiskCheckFailed" | "RoleAssignmentCreationFailed" | "SelfServiceRefundNotSupported" | "ServerTimeout" | "UnauthenticatedRequestsThrottled" | "UnsupportedReservationTerm" | undefined;
                    readonly message?: string | undefined;
                }[] | undefined;
            } | undefined;
        } | undefined;
        readonly pricingRefundAmount?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly quantity?: number | undefined;
        readonly sessionId?: string | undefined;
    } | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ExchangePostInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type ExchangePostInput = typeof ExchangePostInput.Type;
export declare const ExchangePostOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly status: Schema.optional<Schema.Literals<readonly ["Succeeded", "Failed", "Cancelled", "PendingRefunds", "PendingPurchases"]>>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly sessionId: Schema.optional<Schema.String>;
        readonly netPayable: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly refundsTotal: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly purchasesTotal: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly reservationsToPurchase: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly reservationOrderId: Schema.optional<Schema.String>;
            readonly reservationId: Schema.optional<Schema.String>;
            readonly properties: Schema.optional<Schema.Struct<{
                readonly sku: Schema.optional<Schema.Struct<{
                    readonly name: Schema.optional<Schema.String>;
                }>>;
                readonly location: Schema.optional<Schema.String>;
                readonly properties: Schema.optional<Schema.Struct<{
                    readonly reservedResourceType: Schema.optional<Schema.Literals<readonly ["VirtualMachines", "SqlDatabases", "SuseLinux", "CosmosDb", "RedHat", "SqlDataWarehouse", "VMwareCloudSimple", "RedHatOsa", "Databricks", "AppService", "ManagedDisk", "BlockBlob", "RedisCache", "AzureDataExplorer", "MySql", "MariaDb", "PostgreSql", "DedicatedHost", "SapHana", "SqlAzureHybridBenefit", "AVS", "DataFactory", "NetAppStorage", "AzureFiles", "SqlEdge", "VirtualMachineSoftware"]>>;
                    readonly billingScopeId: Schema.optional<Schema.String>;
                    readonly term: Schema.optional<Schema.Literals<readonly ["P1Y", "P3Y", "P5Y"]>>;
                    readonly billingPlan: Schema.optional<Schema.Literals<readonly ["Upfront", "Monthly"]>>;
                    readonly quantity: Schema.optional<Schema.Number>;
                    readonly displayName: Schema.optional<Schema.String>;
                    readonly appliedScopeType: Schema.optional<Schema.Literals<readonly ["Single", "Shared", "ManagementGroup"]>>;
                    readonly appliedScopes: Schema.optional<Schema.$Array<Schema.String>>;
                    readonly appliedScopeProperties: Schema.optional<Schema.Struct<{
                        readonly tenantId: Schema.optional<Schema.String>;
                        readonly managementGroupId: Schema.optional<Schema.String>;
                        readonly subscriptionId: Schema.optional<Schema.String>;
                        readonly resourceGroupId: Schema.optional<Schema.String>;
                        readonly displayName: Schema.optional<Schema.String>;
                    }>>;
                    readonly renew: Schema.optional<Schema.Boolean>;
                    readonly reservedResourceProperties: Schema.optional<Schema.Struct<{
                        readonly instanceFlexibility: Schema.optional<Schema.Literals<readonly ["On", "Off"]>>;
                    }>>;
                    readonly reviewDateTime: Schema.optional<Schema.String>;
                }>>;
            }>>;
            readonly billingCurrencyTotal: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly status: Schema.optional<Schema.Literals<readonly ["Succeeded", "Failed", "Cancelled", "Pending"]>>;
        }>>>;
        readonly savingsPlansToPurchase: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly savingsPlanOrderId: Schema.optional<Schema.String>;
            readonly savingsPlanId: Schema.optional<Schema.String>;
            readonly properties: Schema.optional<Schema.Struct<{
                readonly sku: Schema.optional<Schema.Struct<{
                    readonly name: Schema.optional<Schema.String>;
                }>>;
                readonly properties: Schema.optional<Schema.Struct<{
                    readonly displayName: Schema.optional<Schema.String>;
                    readonly billingScopeId: Schema.optional<Schema.String>;
                    readonly term: Schema.optional<Schema.Literals<readonly ["P1Y", "P3Y"]>>;
                    readonly billingPlan: Schema.optional<Schema.Literals<readonly ["P1M"]>>;
                    readonly appliedScopeType: Schema.optional<Schema.Literals<readonly ["Single", "Shared", "ManagementGroup"]>>;
                    readonly appliedScopeProperties: Schema.optional<Schema.Struct<{
                        readonly tenantId: Schema.optional<Schema.String>;
                        readonly managementGroupId: Schema.optional<Schema.String>;
                        readonly subscriptionId: Schema.optional<Schema.String>;
                        readonly resourceGroupId: Schema.optional<Schema.String>;
                        readonly displayName: Schema.optional<Schema.String>;
                    }>>;
                    readonly commitment: Schema.optional<Schema.Struct<{
                        readonly currencyCode: Schema.optional<Schema.String>;
                        readonly amount: Schema.optional<Schema.Number>;
                    }>>;
                }>>;
            }>>;
            readonly billingCurrencyTotal: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly status: Schema.optional<Schema.Literals<readonly ["Succeeded", "Failed", "Cancelled", "Pending"]>>;
        }>>>;
        readonly reservationsToExchange: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly reservationId: Schema.optional<Schema.String>;
            readonly quantity: Schema.optional<Schema.Number>;
            readonly billingRefundAmount: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly billingInformation: Schema.optional<Schema.Struct<{
                readonly billingCurrencyTotalPaidAmount: Schema.optional<Schema.Struct<{
                    readonly currencyCode: Schema.optional<Schema.String>;
                    readonly amount: Schema.optional<Schema.Number>;
                }>>;
                readonly billingCurrencyProratedAmount: Schema.optional<Schema.Struct<{
                    readonly currencyCode: Schema.optional<Schema.String>;
                    readonly amount: Schema.optional<Schema.Number>;
                }>>;
                readonly billingCurrencyRemainingCommitmentAmount: Schema.optional<Schema.Struct<{
                    readonly currencyCode: Schema.optional<Schema.String>;
                    readonly amount: Schema.optional<Schema.Number>;
                }>>;
            }>>;
            readonly status: Schema.optional<Schema.Literals<readonly ["Succeeded", "Failed", "Cancelled", "Pending"]>>;
        }>>>;
        readonly policyResult: Schema.optional<Schema.Struct<{
            readonly policyErrors: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly code: Schema.optional<Schema.String>;
                readonly message: Schema.optional<Schema.String>;
            }>>>;
        }>>;
    }>>;
    readonly error: Schema.optional<Schema.Struct<{
        readonly code: Schema.optional<Schema.String>;
        readonly message: Schema.optional<Schema.String>;
    }>>;
}>;
export type ExchangePostOutput = typeof ExchangePostOutput.Type;
/**
 * Exchange Reservation(s)
 *
 * Returns one or more `Reservations` in exchange for one or more `Reservation` purchases.
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const ExchangePost: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly error?: {
        readonly code?: string | undefined;
        readonly message?: string | undefined;
    } | undefined;
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly netPayable?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly policyResult?: {
            readonly policyErrors?: readonly {
                readonly code?: string | undefined;
                readonly message?: string | undefined;
            }[] | undefined;
        } | undefined;
        readonly purchasesTotal?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly refundsTotal?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly reservationsToExchange?: readonly {
            readonly billingInformation?: {
                readonly billingCurrencyProratedAmount?: {
                    readonly amount?: number | undefined;
                    readonly currencyCode?: string | undefined;
                } | undefined;
                readonly billingCurrencyRemainingCommitmentAmount?: {
                    readonly amount?: number | undefined;
                    readonly currencyCode?: string | undefined;
                } | undefined;
                readonly billingCurrencyTotalPaidAmount?: {
                    readonly amount?: number | undefined;
                    readonly currencyCode?: string | undefined;
                } | undefined;
            } | undefined;
            readonly billingRefundAmount?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly quantity?: number | undefined;
            readonly reservationId?: string | undefined;
            readonly status?: "Cancelled" | "Failed" | "Pending" | "Succeeded" | undefined;
        }[] | undefined;
        readonly reservationsToPurchase?: readonly {
            readonly billingCurrencyTotal?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly properties?: {
                readonly location?: string | undefined;
                readonly properties?: {
                    readonly appliedScopeProperties?: {
                        readonly displayName?: string | undefined;
                        readonly managementGroupId?: string | undefined;
                        readonly resourceGroupId?: string | undefined;
                        readonly subscriptionId?: string | undefined;
                        readonly tenantId?: string | undefined;
                    } | undefined;
                    readonly appliedScopeType?: "ManagementGroup" | "Shared" | "Single" | undefined;
                    readonly appliedScopes?: readonly string[] | undefined;
                    readonly billingPlan?: "Monthly" | "Upfront" | undefined;
                    readonly billingScopeId?: string | undefined;
                    readonly displayName?: string | undefined;
                    readonly quantity?: number | undefined;
                    readonly renew?: boolean | undefined;
                    readonly reservedResourceProperties?: {
                        readonly instanceFlexibility?: "Off" | "On" | undefined;
                    } | undefined;
                    readonly reservedResourceType?: "AVS" | "AppService" | "AzureDataExplorer" | "AzureFiles" | "BlockBlob" | "CosmosDb" | "DataFactory" | "Databricks" | "DedicatedHost" | "ManagedDisk" | "MariaDb" | "MySql" | "NetAppStorage" | "PostgreSql" | "RedHat" | "RedHatOsa" | "RedisCache" | "SapHana" | "SqlAzureHybridBenefit" | "SqlDataWarehouse" | "SqlDatabases" | "SqlEdge" | "SuseLinux" | "VMwareCloudSimple" | "VirtualMachineSoftware" | "VirtualMachines" | undefined;
                    readonly reviewDateTime?: string | undefined;
                    readonly term?: "P1Y" | "P3Y" | "P5Y" | undefined;
                } | undefined;
                readonly sku?: {
                    readonly name?: string | undefined;
                } | undefined;
            } | undefined;
            readonly reservationId?: string | undefined;
            readonly reservationOrderId?: string | undefined;
            readonly status?: "Cancelled" | "Failed" | "Pending" | "Succeeded" | undefined;
        }[] | undefined;
        readonly savingsPlansToPurchase?: readonly {
            readonly billingCurrencyTotal?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly properties?: {
                readonly properties?: {
                    readonly appliedScopeProperties?: {
                        readonly displayName?: string | undefined;
                        readonly managementGroupId?: string | undefined;
                        readonly resourceGroupId?: string | undefined;
                        readonly subscriptionId?: string | undefined;
                        readonly tenantId?: string | undefined;
                    } | undefined;
                    readonly appliedScopeType?: "ManagementGroup" | "Shared" | "Single" | undefined;
                    readonly billingPlan?: "P1M" | undefined;
                    readonly billingScopeId?: string | undefined;
                    readonly commitment?: {
                        readonly amount?: number | undefined;
                        readonly currencyCode?: string | undefined;
                    } | undefined;
                    readonly displayName?: string | undefined;
                    readonly term?: "P1Y" | "P3Y" | undefined;
                } | undefined;
                readonly sku?: {
                    readonly name?: string | undefined;
                } | undefined;
            } | undefined;
            readonly savingsPlanId?: string | undefined;
            readonly savingsPlanOrderId?: string | undefined;
            readonly status?: "Cancelled" | "Failed" | "Pending" | "Succeeded" | undefined;
        }[] | undefined;
        readonly sessionId?: string | undefined;
    } | undefined;
    readonly status?: "Cancelled" | "Failed" | "PendingPurchases" | "PendingRefunds" | "Succeeded" | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const GetAppliedReservationListInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type GetAppliedReservationListInput = typeof GetAppliedReservationListInput.Type;
export declare const GetAppliedReservationListOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly reservationOrderIds: Schema.optional<Schema.Struct<{
            readonly value: Schema.optional<Schema.$Array<Schema.String>>;
            readonly nextLink: Schema.optional<Schema.String>;
        }>>;
    }>>;
}>;
export type GetAppliedReservationListOutput = typeof GetAppliedReservationListOutput.Type;
/**
 * Get list of applicable `Reservation`s.
 *
 * Get applicable `Reservation`s that are applied to this subscription or a resource group under this subscription.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription. The value must be an UUID.
 */
export declare const GetAppliedReservationList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly reservationOrderIds?: {
            readonly nextLink?: string | undefined;
            readonly value?: readonly string[] | undefined;
        } | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const GetCatalogInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
    readonly reservedResourceType: Schema.optional<Schema.String>;
    readonly location: Schema.optional<Schema.String>;
    readonly publisherId: Schema.optional<Schema.String>;
    readonly offerId: Schema.optional<Schema.String>;
    readonly planId: Schema.optional<Schema.String>;
    readonly $filter: Schema.optional<Schema.String>;
    readonly $skip: Schema.optional<Schema.Number>;
    readonly $take: Schema.optional<Schema.Number>;
}>;
export type GetCatalogInput = typeof GetCatalogInput.Type;
export declare const GetCatalogOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly resourceType: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly billingPlans: Schema.optional<Schema.$Record<Schema.String, Schema.$Array<Schema.Literals<readonly ["Upfront", "Monthly"]>>>>;
        readonly terms: Schema.optional<Schema.$Array<Schema.Literals<readonly ["P1Y", "P3Y", "P5Y"]>>>;
        readonly locations: Schema.optional<Schema.$Array<Schema.String>>;
        readonly skuProperties: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly name: Schema.optional<Schema.String>;
            readonly value: Schema.optional<Schema.String>;
        }>>>;
        readonly msrp: Schema.optional<Schema.Struct<{
            readonly p1Y: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly p3Y: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly p5Y: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
        }>>;
        readonly restrictions: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly type: Schema.optional<Schema.String>;
            readonly values: Schema.optional<Schema.$Array<Schema.String>>;
            readonly reasonCode: Schema.optional<Schema.String>;
        }>>>;
        readonly tier: Schema.optional<Schema.String>;
        readonly size: 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 nextLink: Schema.optional<Schema.String>;
    readonly totalItems: Schema.optional<Schema.Number>;
}>;
export type GetCatalogOutput = typeof GetCatalogOutput.Type;
/**
 * Get the regions and skus that are available for RI purchase for the specified Azure subscription.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription. The value must be an UUID.
 * @param reservedResourceType - The type of the resource for which the skus should be provided.
 * @param location - Filters the skus based on the location specified in this parameter. This can be an azure region or global
 * @param publisherId - Publisher id used to get the third party products
 * @param offerId - Offer id used to get the third party products
 * @param planId - Plan id used to get the third party products
 * @param $filter - May be used to filter by Catalog properties. The filter supports 'eq', 'or', and 'and'.
 * @param $skip - The number of reservations to skip from the list before returning results
 * @param $take - To number of reservations to return
 */
export declare const GetCatalog: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly $skip?: number | undefined;
    readonly $take?: number | undefined;
    readonly "api-version": string;
    readonly location?: string | undefined;
    readonly offerId?: string | undefined;
    readonly planId?: string | undefined;
    readonly publisherId?: string | undefined;
    readonly reservedResourceType?: string | undefined;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly totalItems?: number | undefined;
    readonly value: readonly {
        readonly billingPlans?: {
            readonly [x: string]: readonly ("Monthly" | "Upfront")[];
        } | undefined;
        readonly capabilities?: readonly {
            readonly name?: string | undefined;
            readonly value?: string | undefined;
        }[] | undefined;
        readonly locations?: readonly string[] | undefined;
        readonly msrp?: {
            readonly p1Y?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly p3Y?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly p5Y?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
        } | undefined;
        readonly name?: string | undefined;
        readonly resourceType?: string | undefined;
        readonly restrictions?: readonly {
            readonly reasonCode?: string | undefined;
            readonly type?: string | undefined;
            readonly values?: readonly string[] | undefined;
        }[] | undefined;
        readonly size?: string | undefined;
        readonly skuProperties?: readonly {
            readonly name?: string | undefined;
            readonly value?: string | undefined;
        }[] | undefined;
        readonly terms?: readonly ("P1Y" | "P3Y" | "P5Y")[] | undefined;
        readonly tier?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const OperationListInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type OperationListInput = typeof OperationListInput.Type;
export declare const OperationListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly name: Schema.optional<Schema.String>;
        readonly isDataAction: Schema.optional<Schema.Boolean>;
        readonly display: Schema.optional<Schema.Struct<{
            readonly provider: Schema.optional<Schema.String>;
            readonly resource: Schema.optional<Schema.String>;
            readonly operation: Schema.optional<Schema.String>;
            readonly description: Schema.optional<Schema.String>;
        }>>;
        readonly origin: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Unknown>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type OperationListOutput = typeof OperationListOutput.Type;
/**
 * Get operations.
 *
 * List all the operations.
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const OperationList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly display?: {
            readonly description?: string | undefined;
            readonly operation?: string | undefined;
            readonly provider?: string | undefined;
            readonly resource?: string | undefined;
        } | undefined;
        readonly isDataAction?: boolean | undefined;
        readonly name?: string | undefined;
        readonly origin?: string | undefined;
        readonly properties?: unknown;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ReservationArchiveInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly reservationId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationArchiveInput = typeof ReservationArchiveInput.Type;
export declare const ReservationArchiveOutput: Schema.Void;
export type ReservationArchiveOutput = typeof ReservationArchiveOutput.Type;
/**
 * Archive a `Reservation`.
 *
 * Archiving a `Reservation` moves it to `Archived` state.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 * @param reservationId - Id of the reservation item
 */
export declare const ReservationArchive: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationId: string;
    readonly reservationOrderId: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const ReservationAvailableScopesInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly reservationId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationAvailableScopesInput = typeof ReservationAvailableScopesInput.Type;
export declare const ReservationAvailableScopesOutput: Schema.Struct<{
    readonly properties: Schema.optional<Schema.Struct<{
        readonly scopes: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly scope: Schema.optional<Schema.String>;
            readonly valid: Schema.optional<Schema.Boolean>;
        }>>>;
    }>>;
}>;
export type ReservationAvailableScopesOutput = typeof ReservationAvailableScopesOutput.Type;
/**
 * Get Available Scopes for `Reservation`.
 *
 * Check whether the scopes from request is valid for `Reservation`.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 * @param reservationId - Id of the reservation item
 */
export declare const ReservationAvailableScopes: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationId: string;
    readonly reservationOrderId: string;
}, {
    readonly properties?: {
        readonly scopes?: readonly {
            readonly scope?: string | undefined;
            readonly valid?: boolean | undefined;
        }[] | undefined;
    } | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ReservationGetInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly reservationId: Schema.String;
    readonly "api-version": Schema.String;
    readonly $expand: Schema.optional<Schema.String>;
}>;
export type ReservationGetInput = typeof ReservationGetInput.Type;
export declare const ReservationGetOutput: Schema.Struct<{}>;
export type ReservationGetOutput = typeof ReservationGetOutput.Type;
/**
 * Get `Reservation` details.
 *
 * Get specific `Reservation` details.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 * @param reservationId - Id of the reservation item
 * @param $expand - Supported value of this query is renewProperties
 */
export declare const ReservationGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $expand?: string | undefined;
    readonly "api-version": string;
    readonly reservationId: string;
    readonly reservationOrderId: string;
}, {}, never, import("../credentials.ts").Credentials>;
export declare const ReservationListInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationListInput = typeof ReservationListInput.Type;
export declare const ReservationListOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{}>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type ReservationListOutput = typeof ReservationListOutput.Type;
/**
 * Get `Reservation`s in a given reservation Order
 *
 * List `Reservation`s within a single `ReservationOrder`.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 */
export declare const ReservationList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationOrderId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {}[];
}, never, import("../credentials.ts").Credentials>;
export declare const ReservationListAllInput: Schema.Struct<{
    readonly "api-version": Schema.String;
    readonly $filter: Schema.optional<Schema.String>;
    readonly $orderby: Schema.optional<Schema.String>;
    readonly refreshSummary: Schema.optional<Schema.String>;
    readonly $skiptoken: Schema.optional<Schema.Number>;
    readonly selectedState: Schema.optional<Schema.String>;
    readonly take: Schema.optional<Schema.Number>;
}>;
export type ReservationListAllInput = typeof ReservationListAllInput.Type;
export declare const ReservationListAllOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{}>>>;
    readonly nextLink: Schema.optional<Schema.String>;
    readonly summary: Schema.optional<Schema.Struct<{
        readonly succeededCount: Schema.optional<Schema.Number>;
        readonly failedCount: Schema.optional<Schema.Number>;
        readonly expiringCount: Schema.optional<Schema.Number>;
        readonly expiredCount: Schema.optional<Schema.Number>;
        readonly pendingCount: Schema.optional<Schema.Number>;
        readonly cancelledCount: Schema.optional<Schema.Number>;
        readonly processingCount: Schema.optional<Schema.Number>;
        readonly warningCount: Schema.optional<Schema.Number>;
        readonly noBenefitCount: Schema.optional<Schema.Number>;
    }>>;
}>;
export type ReservationListAllOutput = typeof ReservationListAllOutput.Type;
/**
 * List the reservations and the roll up counts of reservations group by provisioning states that the user has access to in the current tenant.
 *
 * @param api-version - The API version to use for this operation.
 * @param $filter - May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, expiryDateTime, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState}
 * @param $orderby - May be used to sort order by reservation properties.
 * @param refreshSummary - To indicate whether to refresh the roll up counts of the reservations group by provisioning states
 * @param $skiptoken - The number of reservations to skip from the list before returning results
 * @param selectedState - The selected provisioning state
 * @param take - To number of reservations to return
 */
export declare const ReservationListAll: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly $orderby?: string | undefined;
    readonly $skiptoken?: number | undefined;
    readonly "api-version": string;
    readonly refreshSummary?: string | undefined;
    readonly selectedState?: string | undefined;
    readonly take?: number | undefined;
}, {
    readonly nextLink?: string | undefined;
    readonly summary?: {
        readonly cancelledCount?: number | undefined;
        readonly expiredCount?: number | undefined;
        readonly expiringCount?: number | undefined;
        readonly failedCount?: number | undefined;
        readonly noBenefitCount?: number | undefined;
        readonly pendingCount?: number | undefined;
        readonly processingCount?: number | undefined;
        readonly succeededCount?: number | undefined;
        readonly warningCount?: number | undefined;
    } | undefined;
    readonly value?: readonly {}[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ReservationListRevisionsInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly reservationId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationListRevisionsInput = typeof ReservationListRevisionsInput.Type;
export declare const ReservationListRevisionsOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{}>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type ReservationListRevisionsOutput = typeof ReservationListRevisionsOutput.Type;
/**
 * Get `Reservation` revisions.
 *
 * List of all the revisions for the `Reservation`.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 * @param reservationId - Id of the reservation item
 */
export declare const ReservationListRevisions: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationId: string;
    readonly reservationOrderId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {}[];
}, never, import("../credentials.ts").Credentials>;
export declare const ReservationMergeInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationMergeInput = typeof ReservationMergeInput.Type;
export declare const ReservationMergeOutput: Schema.$Array<Schema.Struct<{}>>;
export type ReservationMergeOutput = typeof ReservationMergeOutput.Type;
/**
 * Merges two `Reservation`s.
 *
 * Merge the specified `Reservation`s into a new `Reservation`. The two `Reservation`s being merged must have same properties.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 */
export declare const ReservationMerge: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationOrderId: string;
}, readonly {}[], never, import("../credentials.ts").Credentials>;
export declare const ReservationOrderCalculateInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type ReservationOrderCalculateInput = typeof ReservationOrderCalculateInput.Type;
export declare const ReservationOrderCalculateOutput: Schema.Struct<{
    readonly properties: Schema.optional<Schema.Struct<{
        readonly billingCurrencyTotal: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly netTotal: Schema.optional<Schema.Number>;
        readonly taxTotal: Schema.optional<Schema.Number>;
        readonly grandTotal: Schema.optional<Schema.Number>;
        readonly isTaxIncluded: Schema.optional<Schema.Boolean>;
        readonly isBillingPartnerManaged: Schema.optional<Schema.Boolean>;
        readonly reservationOrderId: Schema.optional<Schema.String>;
        readonly skuTitle: Schema.optional<Schema.String>;
        readonly skuDescription: Schema.optional<Schema.String>;
        readonly pricingCurrencyTotal: Schema.optional<Schema.Struct<{
            readonly currencyCode: Schema.optional<Schema.String>;
            readonly amount: Schema.optional<Schema.Number>;
        }>>;
        readonly paymentSchedule: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly dueDate: Schema.optional<Schema.String>;
            readonly paymentDate: Schema.optional<Schema.String>;
            readonly pricingCurrencyTotal: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly billingCurrencyTotal: Schema.optional<Schema.Struct<{
                readonly currencyCode: Schema.optional<Schema.String>;
                readonly amount: Schema.optional<Schema.Number>;
            }>>;
            readonly billingAccount: Schema.optional<Schema.String>;
            readonly status: Schema.optional<Schema.Literals<readonly ["Succeeded", "Failed", "Scheduled", "Cancelled"]>>;
            readonly extendedStatusInfo: Schema.optional<Schema.Struct<{
                readonly statusCode: Schema.optional<Schema.Literals<readonly ["None", "Pending", "Processing", "Active", "PurchaseError", "PaymentInstrumentError", "Split", "Merged", "Expired", "Succeeded"]>>;
                readonly message: Schema.optional<Schema.String>;
            }>>;
        }>>>;
    }>>;
}>;
export type ReservationOrderCalculateOutput = typeof ReservationOrderCalculateOutput.Type;
/**
 * Calculate price for a `ReservationOrder`.
 *
 * Calculate price for placing a `ReservationOrder`.
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const ReservationOrderCalculate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly properties?: {
        readonly billingCurrencyTotal?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly grandTotal?: number | undefined;
        readonly isBillingPartnerManaged?: boolean | undefined;
        readonly isTaxIncluded?: boolean | undefined;
        readonly netTotal?: number | undefined;
        readonly paymentSchedule?: readonly {
            readonly billingAccount?: string | undefined;
            readonly billingCurrencyTotal?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly dueDate?: string | undefined;
            readonly extendedStatusInfo?: {
                readonly message?: string | undefined;
                readonly statusCode?: "Active" | "Expired" | "Merged" | "None" | "PaymentInstrumentError" | "Pending" | "Processing" | "PurchaseError" | "Split" | "Succeeded" | undefined;
            } | undefined;
            readonly paymentDate?: string | undefined;
            readonly pricingCurrencyTotal?: {
                readonly amount?: number | undefined;
                readonly currencyCode?: string | undefined;
            } | undefined;
            readonly status?: "Cancelled" | "Failed" | "Scheduled" | "Succeeded" | undefined;
        }[] | undefined;
        readonly pricingCurrencyTotal?: {
            readonly amount?: number | undefined;
            readonly currencyCode?: string | undefined;
        } | undefined;
        readonly reservationOrderId?: string | undefined;
        readonly skuDescription?: string | undefined;
        readonly skuTitle?: string | undefined;
        readonly taxTotal?: number | undefined;
    } | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ReservationOrderChangeDirectoryInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationOrderChangeDirectoryInput = typeof ReservationOrderChangeDirectoryInput.Type;
export declare const ReservationOrderChangeDirectoryOutput: Schema.Struct<{
    readonly reservationOrder: Schema.optional<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly isSucceeded: Schema.optional<Schema.Boolean>;
        readonly error: Schema.optional<Schema.String>;
    }>>;
    readonly reservations: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly isSucceeded: Schema.optional<Schema.Boolean>;
        readonly error: Schema.optional<Schema.String>;
    }>>>;
}>;
export type ReservationOrderChangeDirectoryOutput = typeof ReservationOrderChangeDirectoryOutput.Type;
/**
 * Change directory of `ReservationOrder`.
 *
 * Change directory (tenant) of `ReservationOrder` and all `Reservation` under it to specified tenant id
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 */
export declare const ReservationOrderChangeDirectory: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationOrderId: string;
}, {
    readonly reservationOrder?: {
        readonly error?: string | undefined;
        readonly id?: string | undefined;
        readonly isSucceeded?: boolean | undefined;
        readonly name?: string | undefined;
    } | undefined;
    readonly reservations?: readonly {
        readonly error?: string | undefined;
        readonly id?: string | undefined;
        readonly isSucceeded?: boolean | undefined;
        readonly name?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ReservationOrderGetInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly "api-version": Schema.String;
    readonly $expand: Schema.optional<Schema.String>;
}>;
export type ReservationOrderGetInput = typeof ReservationOrderGetInput.Type;
export declare const ReservationOrderGetOutput: Schema.Struct<{}>;
export type ReservationOrderGetOutput = typeof ReservationOrderGetOutput.Type;
/**
 * Get a specific `ReservationOrder`.
 *
 * Get the details of the `ReservationOrder`.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 * @param $expand - May be used to expand the planInformation.
 */
export declare const ReservationOrderGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $expand?: string | undefined;
    readonly "api-version": string;
    readonly reservationOrderId: string;
}, {}, never, import("../credentials.ts").Credentials>;
export declare const ReservationOrderListInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type ReservationOrderListInput = typeof ReservationOrderListInput.Type;
export declare const ReservationOrderListOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{}>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type ReservationOrderListOutput = typeof ReservationOrderListOutput.Type;
/**
 * Get all `ReservationOrder`s.
 *
 * List of all the `ReservationOrder`s that the user has access to in the current tenant.
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const ReservationOrderList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {}[];
}, never, import("../credentials.ts").Credentials>;
export declare const ReservationOrderPurchaseInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationOrderPurchaseInput = typeof ReservationOrderPurchaseInput.Type;
export declare const ReservationOrderPurchaseOutput: Schema.Struct<{}>;
export type ReservationOrderPurchaseOutput = typeof ReservationOrderPurchaseOutput.Type;
/**
 * Purchase `ReservationOrder`
 *
 * Purchase `ReservationOrder` and create resource under the specified URI.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 */
export declare const ReservationOrderPurchase: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationOrderId: string;
}, {}, never, import("../credentials.ts").Credentials>;
export declare const ReservationSplitInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationSplitInput = typeof ReservationSplitInput.Type;
export declare const ReservationSplitOutput: Schema.$Array<Schema.Struct<{}>>;
export type ReservationSplitOutput = typeof ReservationSplitOutput.Type;
/**
 * Split the `Reservation`.
 *
 * Split a `Reservation` into two `Reservation`s with specified quantity distribution.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 */
export declare const ReservationSplit: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationOrderId: string;
}, readonly {}[], never, import("../credentials.ts").Credentials>;
export declare const ReservationUnarchiveInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly reservationId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationUnarchiveInput = typeof ReservationUnarchiveInput.Type;
export declare const ReservationUnarchiveOutput: Schema.Void;
export type ReservationUnarchiveOutput = typeof ReservationUnarchiveOutput.Type;
/**
 * Unarchive a `Reservation`.
 *
 * Restores a `Reservation` to the state it was before archiving.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 * @param reservationId - Id of the reservation item
 */
export declare const ReservationUnarchive: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationId: string;
    readonly reservationOrderId: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const ReservationUpdateInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly reservationId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReservationUpdateInput = typeof ReservationUpdateInput.Type;
export declare const ReservationUpdateOutput: Schema.Struct<{}>;
export type ReservationUpdateOutput = typeof ReservationUpdateOutput.Type;
/**
 * Updates a `Reservation`.
 *
 * Updates the applied scopes of the `Reservation`.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 * @param reservationId - Id of the reservation item
 */
export declare const ReservationUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationId: string;
    readonly reservationOrderId: string;
}, {}, never, import("../credentials.ts").Credentials>;
export declare const ReturnPostInput: Schema.Struct<{
    readonly reservationOrderId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ReturnPostInput = typeof ReturnPostInput.Type;
export declare const ReturnPostOutput: Schema.Struct<{}>;
export type ReturnPostOutput = typeof ReturnPostOutput.Type;
/**
 * Return a reservation.
 *
 * Return a reservation and get refund information.
 *
 * @param api-version - The API version to use for this operation.
 * @param reservationOrderId - Order Id of the reservation
 */
export declare const ReturnPost: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly reservationOrderId: string;
}, {}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=reservations.d.ts.map