/**
 * Azure Advisor 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 AdvisorScoresGetInput: Schema.Struct<{
    readonly name: Schema.String;
}>;
export type AdvisorScoresGetInput = typeof AdvisorScoresGetInput.Type;
export declare const AdvisorScoresGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type AdvisorScoresGetOutput = typeof AdvisorScoresGetOutput.Type;
/**
 * Gets the advisor score.
 *
 * @param name - The scope of Advisor score entity.
 */
export declare const AdvisorScoresGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly name: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const AdvisorScoresListInput: Schema.Struct<{}>;
export type AdvisorScoresListInput = typeof AdvisorScoresListInput.Type;
export declare const AdvisorScoresListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>>;
}>;
export type AdvisorScoresListOutput = typeof AdvisorScoresListOutput.Type;
/**
 * Gets the list of advisor scores.
 */
export declare const AdvisorScoresList: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ConfigurationsCreateInResourceGroupInput: Schema.Struct<{
    readonly configurationName: Schema.Literals<readonly ["default"]>;
    readonly resourceGroup: Schema.String;
}>;
export type ConfigurationsCreateInResourceGroupInput = typeof ConfigurationsCreateInResourceGroupInput.Type;
export declare const ConfigurationsCreateInResourceGroupOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type ConfigurationsCreateInResourceGroupOutput = typeof ConfigurationsCreateInResourceGroupOutput.Type;
/**
 * Create/Overwrite Azure Advisor configuration.
 *
 * @param configurationName - Advisor configuration name. Value must be 'default'
 * @param resourceGroup - The name of the Azure resource group.
 */
export declare const ConfigurationsCreateInResourceGroup: import("@distilled.cloud/core/client").OperationMethod<{
    readonly configurationName: "default";
    readonly resourceGroup: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ConfigurationsCreateInSubscriptionInput: Schema.Struct<{
    readonly configurationName: Schema.Literals<readonly ["default"]>;
}>;
export type ConfigurationsCreateInSubscriptionInput = typeof ConfigurationsCreateInSubscriptionInput.Type;
export declare const ConfigurationsCreateInSubscriptionOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type ConfigurationsCreateInSubscriptionOutput = typeof ConfigurationsCreateInSubscriptionOutput.Type;
/**
 * Create/Overwrite Azure Advisor configuration.
 *
 * Create/Overwrite Azure Advisor configuration and also delete all configurations of contained resource groups.
 *
 * @param configurationName - Advisor configuration name. Value must be 'default'
 */
export declare const ConfigurationsCreateInSubscription: import("@distilled.cloud/core/client").OperationMethod<{
    readonly configurationName: "default";
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ConfigurationsListByResourceGroupInput: Schema.Struct<{
    readonly resourceGroup: Schema.String;
}>;
export type ConfigurationsListByResourceGroupInput = typeof ConfigurationsListByResourceGroupInput.Type;
export declare const ConfigurationsListByResourceGroupOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type ConfigurationsListByResourceGroupOutput = typeof ConfigurationsListByResourceGroupOutput.Type;
/**
 * Retrieve Azure Advisor configurations.
 *
 * @param resourceGroup - The name of the Azure resource group.
 */
export declare const ConfigurationsListByResourceGroup: import("@distilled.cloud/core/client").OperationMethod<{
    readonly resourceGroup: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ConfigurationsListBySubscriptionInput: Schema.Struct<{}>;
export type ConfigurationsListBySubscriptionInput = typeof ConfigurationsListBySubscriptionInput.Type;
export declare const ConfigurationsListBySubscriptionOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type ConfigurationsListBySubscriptionOutput = typeof ConfigurationsListBySubscriptionOutput.Type;
/**
 * Retrieve Azure Advisor configurations.
 *
 * Retrieve Azure Advisor configurations and also retrieve configurations of contained resource groups.
 */
export declare const ConfigurationsListBySubscription: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | 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 nextLink: Schema.optional<Schema.String>;
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly name: Schema.optional<Schema.String>;
        readonly display: Schema.optional<Schema.Struct<{
            readonly description: Schema.optional<Schema.String>;
            readonly operation: Schema.optional<Schema.String>;
            readonly provider: Schema.optional<Schema.String>;
            readonly resource: Schema.optional<Schema.String>;
        }>>;
    }>>>;
}>;
export type OperationsListOutput = typeof OperationsListOutput.Type;
/**
 * Lists all the available Advisor REST API operations.
 */
export declare const OperationsList: import("@distilled.cloud/core/client").OperationMethod<{}, {
    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 name?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const PredictInput: Schema.Struct<{}>;
export type PredictInput = typeof PredictInput.Type;
export declare const PredictOutput: Schema.Struct<{
    readonly properties: Schema.optional<Schema.Struct<{
        readonly extendedProperties: Schema.optional<Schema.Unknown>;
        readonly predictionType: Schema.optional<Schema.Literals<readonly ["PredictiveRightsizing"]>>;
        readonly category: Schema.optional<Schema.Literals<readonly ["HighAvailability", "Security", "Performance", "Cost", "OperationalExcellence"]>>;
        readonly impact: Schema.optional<Schema.Literals<readonly ["High", "Medium", "Low"]>>;
        readonly impactedField: Schema.optional<Schema.String>;
        readonly lastUpdated: Schema.optional<Schema.String>;
        readonly shortDescription: Schema.optional<Schema.Struct<{
            readonly problem: Schema.optional<Schema.String>;
            readonly solution: Schema.optional<Schema.String>;
        }>>;
    }>>;
}>;
export type PredictOutput = typeof PredictOutput.Type;
/**
 * Predicts a recommendation.
 */
export declare const Predict: import("@distilled.cloud/core/client").OperationMethod<{}, {
    readonly properties?: {
        readonly category?: "Cost" | "HighAvailability" | "OperationalExcellence" | "Performance" | "Security" | undefined;
        readonly extendedProperties?: unknown;
        readonly impact?: "High" | "Low" | "Medium" | undefined;
        readonly impactedField?: string | undefined;
        readonly lastUpdated?: string | undefined;
        readonly predictionType?: "PredictiveRightsizing" | undefined;
        readonly shortDescription?: {
            readonly problem?: string | undefined;
            readonly solution?: string | undefined;
        } | undefined;
    } | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RecommendationMetadataGetInput: Schema.Struct<{
    readonly name: Schema.String;
}>;
export type RecommendationMetadataGetInput = typeof RecommendationMetadataGetInput.Type;
export declare const RecommendationMetadataGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly displayName: Schema.optional<Schema.String>;
        readonly dependsOn: Schema.optional<Schema.$Array<Schema.String>>;
        readonly applicableScenarios: Schema.optional<Schema.$Array<Schema.Literals<readonly ["Alerts"]>>>;
        readonly supportedValues: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly id: Schema.optional<Schema.String>;
            readonly displayName: Schema.optional<Schema.String>;
        }>>>;
    }>>;
}>;
export type RecommendationMetadataGetOutput = typeof RecommendationMetadataGetOutput.Type;
/**
 * Gets the metadata entity.
 *
 * @param name - Name of metadata entity.
 */
export declare const RecommendationMetadataGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly name: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly applicableScenarios?: readonly "Alerts"[] | undefined;
        readonly dependsOn?: readonly string[] | undefined;
        readonly displayName?: string | undefined;
        readonly supportedValues?: readonly {
            readonly displayName?: string | undefined;
            readonly id?: string | undefined;
        }[] | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RecommendationMetadataListInput: Schema.Struct<{
    readonly $filter: Schema.optional<Schema.String>;
}>;
export type RecommendationMetadataListInput = typeof RecommendationMetadataListInput.Type;
export declare const RecommendationMetadataListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly displayName: Schema.optional<Schema.String>;
            readonly dependsOn: Schema.optional<Schema.$Array<Schema.String>>;
            readonly applicableScenarios: Schema.optional<Schema.$Array<Schema.Literals<readonly ["Alerts"]>>>;
            readonly supportedValues: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
            }>>>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type RecommendationMetadataListOutput = typeof RecommendationMetadataListOutput.Type;
/**
 * Gets the list of metadata entities.
 *
 * @param $filter - The filter to apply to the recommendation metadata.<br>Filter can be applied to properties ['[recommendationCategory](#category)', '[recommendationSubCategory](#recommendationSubCategory)', 'RetirementDate'] with operators ['eq', 'and', 'le', 'ge']<br>The filter can also be applied to property ['[TrackingIds]']<br><br>⚠ **Note:** `recommendationControl` is a legacy filter property and will be deprecated in the future. Please use `recommendationSubCategory` for filtering recommendation subcategory.<br><br>Valid options for recommendationSubCategory: ['BusinessContinuity', 'DisasterRecovery', 'HighAvailability', 'MonitoringAndAlerting', 'Other', 'Personalized', 'PrioritizedRecommendations', 'Scalability', 'ServiceUpgradeAndRetirement', 'Validation']<br><br>Example:<br>- $filter=recommendationCategory eq 'HighAvailability' and recommendationSubCategory eq 'ServiceUpgradeAndRetirement' and retirementDate ge '2024-01-01' and retirementDate le '2028-01-01'. Filter can be applied on trackingIds as well.<br>- $filter=trackingIds/any(t: t eq 'some-guid')<br><br>⚠ **Note:** `trackingIDs` filter can be used for filtering one value at a time. The support to filter multiple values is not currently available. Also the support to add other filters along with `trackingIDs` is not available.
 */
export declare const RecommendationMetadataList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly applicableScenarios?: readonly "Alerts"[] | undefined;
            readonly dependsOn?: readonly string[] | undefined;
            readonly displayName?: string | undefined;
            readonly supportedValues?: readonly {
                readonly displayName?: string | undefined;
                readonly id?: string | undefined;
            }[] | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RecommendationsGenerateInput: Schema.Struct<{}>;
export type RecommendationsGenerateInput = typeof RecommendationsGenerateInput.Type;
export declare const RecommendationsGenerateOutput: Schema.Void;
export type RecommendationsGenerateOutput = typeof RecommendationsGenerateOutput.Type;
/**
 * Initiates the recommendation generation or computation process for a subscription. This operation is asynchronous. The generated recommendations are stored in a cache in the Advisor service.
 */
export declare const RecommendationsGenerate: import("@distilled.cloud/core/client").OperationMethod<{}, void, never, import("../credentials.ts").Credentials>;
export declare const RecommendationsGetInput: Schema.Struct<{
    readonly resourceUri: Schema.String;
    readonly recommendationId: Schema.String;
}>;
export type RecommendationsGetInput = typeof RecommendationsGetInput.Type;
export declare const RecommendationsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type RecommendationsGetOutput = typeof RecommendationsGetOutput.Type;
/**
 * Obtains details of a cached recommendation.
 *
 * @param resourceUri - The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.
 * @param recommendationId - The recommendation ID.
 */
export declare const RecommendationsGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly recommendationId: string;
    readonly resourceUri: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RecommendationsGetGenerateStatusInput: Schema.Struct<{
    readonly operationId: Schema.String;
}>;
export type RecommendationsGetGenerateStatusInput = typeof RecommendationsGetGenerateStatusInput.Type;
export declare const RecommendationsGetGenerateStatusOutput: Schema.Void;
export type RecommendationsGetGenerateStatusOutput = typeof RecommendationsGetGenerateStatusOutput.Type;
/**
 * Retrieves the status of the recommendation computation or generation process. Invoke this API after calling the generation recommendation. The URI of this API is returned in the Location field of the response header.
 *
 * @param operationId - The operation ID, which can be found from the Location field in the generate recommendation response header.
 */
export declare const RecommendationsGetGenerateStatus: import("@distilled.cloud/core/client").OperationMethod<{
    readonly operationId: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const RecommendationsListInput: Schema.Struct<{
    readonly $filter: Schema.optional<Schema.String>;
    readonly $top: Schema.optional<Schema.Number>;
    readonly $skipToken: Schema.optional<Schema.String>;
}>;
export type RecommendationsListInput = typeof RecommendationsListInput.Type;
export declare const RecommendationsListOutput: Schema.Struct<{
    readonly nextLink: Schema.optional<Schema.String>;
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>>;
}>;
export type RecommendationsListOutput = typeof RecommendationsListOutput.Type;
/**
 * Obtains cached recommendations for a subscription. The recommendations are generated or computed by invoking generateRecommendations.
 *
 * @param $filter - The filter to apply to the recommendations.<br>Filter can be applied to properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '[Category](#category)', 'SubCategory', 'RetirementDate'] with operators ['eq', 'and', 'or', 'lt', 'gt', 'le', 'ge'].<br><br>⚠ **Note:** `Control` is a legacy filter property and will be deprecated in the future. Please use `SubCategory` for filtering recommendation subcategory.<br><br>Valid options for SubCategory:<br>['BusinessContinuity', 'DisasterRecovery', 'HighAvailability', 'MonitoringAndAlerting', 'Other', 'Personalized', 'PrioritizedRecommendations', 'Scalability', 'ServiceUpgradeAndRetirement', 'Validation']<br><br>Example:<br>- $filter=Category eq 'Cost' and ResourceGroup eq 'MyResourceGroup'<br>-$filter=SubCategory eq 'ServiceUpgradeAndRetirement' and RetirementDate le '2024-01-01' and RetirementDate ge '2028-01-01'
 * @param $top - The number of recommendations per page if a paged version of this API is being used.
 * @param $skipToken - The page-continuation token to use with a paged version of this API.
 */
export declare const RecommendationsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly $skipToken?: string | undefined;
    readonly $top?: number | undefined;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const SuppressionsCreateInput: Schema.Struct<{
    readonly resourceUri: Schema.String;
    readonly recommendationId: Schema.String;
    readonly name: Schema.String;
}>;
export type SuppressionsCreateInput = typeof SuppressionsCreateInput.Type;
export declare const SuppressionsCreateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type SuppressionsCreateOutput = typeof SuppressionsCreateOutput.Type;
/**
 * Enables the snoozed or dismissed attribute of a recommendation. The snoozed or dismissed attribute is referred to as a suppression. Use this API to create or update the snoozed or dismissed status of a recommendation.
 *
 * @param resourceUri - The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.
 * @param recommendationId - The recommendation ID.
 * @param name - The name of the suppression.
 */
export declare const SuppressionsCreate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly name: string;
    readonly recommendationId: string;
    readonly resourceUri: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const SuppressionsDeleteInput: Schema.Struct<{
    readonly resourceUri: Schema.String;
    readonly recommendationId: Schema.String;
    readonly name: Schema.String;
}>;
export type SuppressionsDeleteInput = typeof SuppressionsDeleteInput.Type;
export declare const SuppressionsDeleteOutput: Schema.Void;
export type SuppressionsDeleteOutput = typeof SuppressionsDeleteOutput.Type;
/**
 * Enables the activation of a snoozed or dismissed recommendation. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.
 *
 * @param resourceUri - The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.
 * @param recommendationId - The recommendation ID.
 * @param name - The name of the suppression.
 */
export declare const SuppressionsDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly name: string;
    readonly recommendationId: string;
    readonly resourceUri: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const SuppressionsGetInput: Schema.Struct<{
    readonly resourceUri: Schema.String;
    readonly recommendationId: Schema.String;
    readonly name: Schema.String;
}>;
export type SuppressionsGetInput = typeof SuppressionsGetInput.Type;
export declare const SuppressionsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type SuppressionsGetOutput = typeof SuppressionsGetOutput.Type;
/**
 * Obtains the details of a suppression.
 *
 * @param resourceUri - The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.
 * @param recommendationId - The recommendation ID.
 * @param name - The name of the suppression.
 */
export declare const SuppressionsGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly name: string;
    readonly recommendationId: string;
    readonly resourceUri: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const SuppressionsListInput: Schema.Struct<{
    readonly $top: Schema.optional<Schema.Number>;
    readonly $skipToken: Schema.optional<Schema.String>;
}>;
export type SuppressionsListInput = typeof SuppressionsListInput.Type;
export declare const SuppressionsListOutput: Schema.Struct<{
    readonly nextLink: Schema.optional<Schema.String>;
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>>;
}>;
export type SuppressionsListOutput = typeof SuppressionsListOutput.Type;
/**
 * Retrieves the list of snoozed or dismissed suppressions for a subscription. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.
 *
 * @param $top - The number of suppressions per page if a paged version of this API is being used.
 * @param $skipToken - The page-continuation token to use with a paged version of this API.
 */
export declare const SuppressionsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $skipToken?: string | undefined;
    readonly $top?: number | undefined;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=advisor.d.ts.map