import { type BaseCollectionPaginationCountResponse } from '@microsoft/msgraph-beta-sdk/models/index.js';
import { type ClassificationResult, type ContentInfo, type InformationProtectionAction } from '@microsoft/msgraph-beta-sdk/models/security/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 {EvaluateClassificationResultsPostRequestBody}
 */
export declare function createEvaluateClassificationResultsPostRequestBodyFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * 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 {EvaluateClassificationResultsPostResponse}
 */
export declare function createEvaluateClassificationResultsPostResponseFromDiscriminatorValue(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 deserializeIntoEvaluateClassificationResultsPostRequestBody(evaluateClassificationResultsPostRequestBody?: Partial<EvaluateClassificationResultsPostRequestBody> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoEvaluateClassificationResultsPostResponse(evaluateClassificationResultsPostResponse?: Partial<EvaluateClassificationResultsPostResponse> | undefined): Record<string, (node: ParseNode) => void>;
export interface EvaluateClassificationResultsPostRequestBody 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 classificationResults property
     */
    classificationResults?: ClassificationResult[] | null;
    /**
     * The contentInfo property
     */
    contentInfo?: ContentInfo | null;
}
export interface EvaluateClassificationResultsPostResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: InformationProtectionAction[] | null;
}
/**
 * Provides operations to call the evaluateClassificationResults method.
 */
export interface MicrosoftGraphSecurityEvaluateClassificationResultsRequestBuilder extends BaseRequestBuilder<MicrosoftGraphSecurityEvaluateClassificationResultsRequestBuilder> {
    /**
     * Use the classification results to compute the sensitivity label that should be applied and return the set of actions that must be taken to correctly label the information. This API is useful when a label should be set automatically based on classification of the file contents, rather than labeled directly by a user or service.  To evaluate based on classification results, provide the contentInfo, which includes existing content metadata key-value pairs, and classification results. The API returns an informationProtectionAction that contains one of more of the following:
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {Promise<EvaluateClassificationResultsPostResponse>}
     * @throws {ODataError} error when the service returns a 4XX or 5XX status code
     * @see {@link https://learn.microsoft.com/graph/api/security-sensitivitylabel-evaluateclassificationresults?view=graph-rest-beta|Find more info here}
     */
    post(body: EvaluateClassificationResultsPostRequestBody, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<EvaluateClassificationResultsPostResponse | undefined>;
    /**
     * Use the classification results to compute the sensitivity label that should be applied and return the set of actions that must be taken to correctly label the information. This API is useful when a label should be set automatically based on classification of the file contents, rather than labeled directly by a user or service.  To evaluate based on classification results, provide the contentInfo, which includes existing content metadata key-value pairs, and classification results. The API returns an informationProtectionAction that contains one of more of the following:
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns {RequestInformation}
     */
    toPostRequestInformation(body: EvaluateClassificationResultsPostRequestBody, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeEvaluateClassificationResultsPostRequestBody(writer: SerializationWriter, evaluateClassificationResultsPostRequestBody?: Partial<EvaluateClassificationResultsPostRequestBody> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeEvaluateClassificationResultsPostResponse(writer: SerializationWriter, evaluateClassificationResultsPostResponse?: Partial<EvaluateClassificationResultsPostResponse> | undefined | null): void;
/**
 * Uri template for the request builder.
 */
export declare const MicrosoftGraphSecurityEvaluateClassificationResultsRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/security/informationProtection/sensitivityLabels/microsoft.graph.security.evaluateClassificationResults";
/**
 * Metadata for all the requests in the request builder.
 */
export declare const MicrosoftGraphSecurityEvaluateClassificationResultsRequestBuilderRequestsMetadata: RequestsMetadata;
//# sourceMappingURL=index.d.ts.map