import { type AdditionalDataHolder, type BackedModel, type BaseRequestBuilder, type Parsable, type ParseNode, type RequestConfiguration, type RequestInformation, type RequestsMetadata, type SerializationWriter } from '@microsoft/kiota-abstractions';
import { type Guid } from 'guid-typescript';
/**
 * 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 a validatePropertiesPostRequestBody
 */
export declare function createValidatePropertiesPostRequestBodyFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * The deserialization information for the current model
 * @returns a Record<string, (node: ParseNode) => void>
 */
export declare function deserializeIntoValidatePropertiesPostRequestBody(validatePropertiesPostRequestBody?: Partial<ValidatePropertiesPostRequestBody> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeValidatePropertiesPostRequestBody(writer: SerializationWriter, validatePropertiesPostRequestBody?: Partial<ValidatePropertiesPostRequestBody> | undefined): void;
export interface ValidatePropertiesPostRequestBody 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;
    /**
     * The displayName property
     */
    displayName?: string;
    /**
     * The entityType property
     */
    entityType?: string;
    /**
     * The mailNickname property
     */
    mailNickname?: string;
    /**
     * The onBehalfOfUserId property
     */
    onBehalfOfUserId?: Guid;
}
/**
 * Provides operations to call the validateProperties method.
 */
export interface ValidatePropertiesRequestBuilder extends BaseRequestBuilder<ValidatePropertiesRequestBuilder> {
    /**
     * Validate that a Microsoft 365 group's display name or mail nickname complies with naming policies.  Clients can use this API to determine whether a display name or mail nickname is valid before trying to create a Microsoft 365 group. For validating properties of an existing group, use the validateProperties function for groups. The following validations are performed for the display name and mail nickname properties: 1. Validate the prefix and suffix naming policy2. Validate the custom banned words policy3. Validate the mail nickname is unique This API returns with the first failure encountered. If one or more properties fail multiple validations, only the property with the first validation failure is returned. However, you can validate both the mail nickname and the display name and receive a collection of validation errors if you are only validating the prefix and suffix naming policy.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @see {@link https://learn.microsoft.com/graph/api/directoryobject-validateproperties?view=graph-rest-1.0|Find more info here}
     */
    post(body: ValidatePropertiesPostRequestBody, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<void>;
    /**
     * Validate that a Microsoft 365 group's display name or mail nickname complies with naming policies.  Clients can use this API to determine whether a display name or mail nickname is valid before trying to create a Microsoft 365 group. For validating properties of an existing group, use the validateProperties function for groups. The following validations are performed for the display name and mail nickname properties: 1. Validate the prefix and suffix naming policy2. Validate the custom banned words policy3. Validate the mail nickname is unique This API returns with the first failure encountered. If one or more properties fail multiple validations, only the property with the first validation failure is returned. However, you can validate both the mail nickname and the display name and receive a collection of validation errors if you are only validating the prefix and suffix naming policy.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns a RequestInformation
     */
    toPostRequestInformation(body: ValidatePropertiesPostRequestBody, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * Metadata for all the requests in the request builder.
 */
export declare const ValidatePropertiesRequestBuilderRequestsMetadata: RequestsMetadata;
/**
 * Uri template for the request builder.
 */
export declare const ValidatePropertiesRequestBuilderUriTemplate = "{+baseurl}/users/validateProperties";
//# sourceMappingURL=index.d.ts.map