import { CloudPcReportName } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type AdditionalDataHolder, type BackedModel, type BaseRequestBuilder, type Parsable, type ParseNode, type RequestConfiguration, type RequestInformation, type RequestsMetadata, type SerializationWriter } from '@microsoft/kiota-abstractions';
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GetCloudPcRecommendationReportsPostRequestBody}
 */
export declare function createGetCloudPcRecommendationReportsPostRequestBodyFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoGetCloudPcRecommendationReportsPostRequestBody(getCloudPcRecommendationReportsPostRequestBody?: Partial<GetCloudPcRecommendationReportsPostRequestBody> | undefined): Record<string, (node: ParseNode) => void>;
export interface GetCloudPcRecommendationReportsPostRequestBody extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The filter property
     */
    filter?: string | null;
    /**
     * The groupBy property
     */
    groupBy?: string[] | null;
    /**
     * The orderBy property
     */
    orderBy?: string[] | null;
    /**
     * The reportName property
     */
    reportName?: CloudPcReportName | null;
    /**
     * The search property
     */
    search?: string | null;
    /**
     * The select property
     */
    select?: string[] | null;
    /**
     * The skip property
     */
    skip?: number | null;
    /**
     * The top property
     */
    top?: number | null;
}
/**
 * Provides operations to call the getCloudPcRecommendationReports method.
 */
export interface GetCloudPcRecommendationReportsRequestBuilder extends BaseRequestBuilder<GetCloudPcRecommendationReportsRequestBuilder> {
    /**
     * Get the device recommendation reports for Cloud PCs, such as the usage category report. The usage category report categorizes a Cloud PC as Undersized, Oversized, Rightsized, or Underutilized, and also provides the recommended SKU when the Cloud PC isn't Rightsized.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<ArrayBuffer>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     * @deprecated Starting from July 01, 2025, this API (&apos;getCloudPcRecommendationReports&apos;) will be deprecated and no longer supported. Please use the retrieveCloudPcRecommendationReports API. as of 2025-02/getCloudPcRecommendationReports on 2025-02-27 and will be removed 2025-07-01
     * @see {@link https://learn.microsoft.com/graph/api/cloudpcreports-getcloudpcrecommendationreports?view=graph-rest-beta|Find more info here}
     */
    post(body: GetCloudPcRecommendationReportsPostRequestBody, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<ArrayBuffer | undefined>;
    /**
     * Get the device recommendation reports for Cloud PCs, such as the usage category report. The usage category report categorizes a Cloud PC as Undersized, Oversized, Rightsized, or Underutilized, and also provides the recommended SKU when the Cloud PC isn't Rightsized.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     * @deprecated Starting from July 01, 2025, this API (&apos;getCloudPcRecommendationReports&apos;) will be deprecated and no longer supported. Please use the retrieveCloudPcRecommendationReports API. as of 2025-02/getCloudPcRecommendationReports on 2025-02-27 and will be removed 2025-07-01
     */
    toPostRequestInformation(body: GetCloudPcRecommendationReportsPostRequestBody, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeGetCloudPcRecommendationReportsPostRequestBody(writer: SerializationWriter, getCloudPcRecommendationReportsPostRequestBody?: Partial<GetCloudPcRecommendationReportsPostRequestBody> | undefined | null): void;
/**
 * Uri template for the request builder.
 */
export declare const GetCloudPcRecommendationReportsRequestBuilderUriTemplate = "{+baseurl}/deviceManagement/virtualEndpoint/reports/getCloudPcRecommendationReports";
/**
 * Metadata for all the requests in the request builder.
 */
export declare const GetCloudPcRecommendationReportsRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map