import { type AdditionalDataHolder, type BackedModel, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions';
export interface AccessReviewContextData extends AccessReviewContextDataBase, Parsable {
}
export interface AccessReviewContextDataBase extends Data, Parsable {
    /**
     * The unique identifier of the access review definition that this data is associated with.
     */
    reviewDefinitionId?: string | null;
    /**
     * The unique identifier of the access review instance that this data is associated with.
     */
    reviewInstanceId?: string | null;
}
export interface ApplyDecisionContextData extends AccessReviewContextDataBase, Parsable {
}
/**
 * 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 {AccessReviewContextDataBase}
 */
export declare function createAccessReviewContextDataBaseFromDiscriminatorValue(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 {AccessReviewContextData}
 */
export declare function createAccessReviewContextDataFromDiscriminatorValue(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 {ApplyDecisionContextData}
 */
export declare function createApplyDecisionContextDataFromDiscriminatorValue(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 {Data}
 */
export declare function createDataFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
export interface Data extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
}
/**
 * The deserialization information for the current model
 * @param AccessReviewContextData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAccessReviewContextData(accessReviewContextData?: Partial<AccessReviewContextData> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param AccessReviewContextDataBase The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAccessReviewContextDataBase(accessReviewContextDataBase?: Partial<AccessReviewContextDataBase> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param ApplyDecisionContextData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoApplyDecisionContextData(applyDecisionContextData?: Partial<ApplyDecisionContextData> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param Data The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoData(data?: Partial<Data> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * Serializes information the current object
 * @param AccessReviewContextData The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAccessReviewContextData(writer: SerializationWriter, accessReviewContextData?: Partial<AccessReviewContextData> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param AccessReviewContextDataBase The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAccessReviewContextDataBase(writer: SerializationWriter, accessReviewContextDataBase?: Partial<AccessReviewContextDataBase> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param ApplyDecisionContextData The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeApplyDecisionContextData(writer: SerializationWriter, applyDecisionContextData?: Partial<ApplyDecisionContextData> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param Data The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeData(writer: SerializationWriter, data?: Partial<Data> | undefined | null, isSerializingDerivedType?: boolean): void;
//# sourceMappingURL=index.d.ts.map