import { type TimeSlot } from '@microsoft/msgraph-beta-sdk/models/';
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 a declinePostRequestBody
 */
export declare function createDeclinePostRequestBodyFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
export interface DeclinePostRequestBody 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 Comment property
     */
    comment?: string;
    /**
     * The ProposedNewTime property
     */
    proposedNewTime?: TimeSlot;
    /**
     * The SendResponse property
     */
    sendResponse?: boolean;
}
/**
 * Provides operations to call the decline method.
 */
export interface DeclineRequestBuilder extends BaseRequestBuilder<DeclineRequestBuilder> {
    /**
     * Decline invitation to the specified event in a user calendar. If the event allows proposals for new times, on declining the event, an invitee can choose to suggest an alternative time by including the proposedNewTime parameter. For more information on how to propose a time, and how to receive and accept a new time proposal, see Propose new meeting times.
     * @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/event-decline?view=graph-rest-1.0|Find more info here}
     */
    post(body: DeclinePostRequestBody, requestConfiguration?: RequestConfiguration<object> | undefined): Promise<void>;
    /**
     * Decline invitation to the specified event in a user calendar. If the event allows proposals for new times, on declining the event, an invitee can choose to suggest an alternative time by including the proposedNewTime parameter. For more information on how to propose a time, and how to receive and accept a new time proposal, see Propose new meeting times.
     * @param body The request body
     * @param requestConfiguration Configuration for the request such as headers, query parameters, and middleware options.
     * @returns a RequestInformation
     */
    toPostRequestInformation(body: DeclinePostRequestBody, requestConfiguration?: RequestConfiguration<object> | undefined): RequestInformation;
}
/**
 * The deserialization information for the current model
 * @returns a Record<string, (node: ParseNode) => void>
 */
export declare function deserializeIntoDeclinePostRequestBody(declinePostRequestBody?: Partial<DeclinePostRequestBody> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeDeclinePostRequestBody(writer: SerializationWriter, declinePostRequestBody?: Partial<DeclinePostRequestBody> | undefined): void;
/**
 * Metadata for all the requests in the request builder.
 */
export declare const DeclineRequestBuilderRequestsMetadata: RequestsMetadata;
/**
 * Uri template for the request builder.
 */
export declare const DeclineRequestBuilderUriTemplate = "{+baseurl}/users/{user%2Did}/events/{event%2Did}/decline";
//# sourceMappingURL=index.d.ts.map