import { type AdditionalDataHolder, type ApiError, type BackedModel, type Parsable, type ParseNode, 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 {ErrorDetails}
 */
export declare function createErrorDetailsFromDiscriminatorValue(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 {InnerError}
 */
export declare function createInnerErrorFromDiscriminatorValue(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 {MainError}
 */
export declare function createMainErrorFromDiscriminatorValue(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 {ODataError}
 */
export declare function createODataErrorFromDiscriminatorValue(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 deserializeIntoErrorDetails(errorDetails?: Partial<ErrorDetails> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoInnerError(innerError?: Partial<InnerError> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoMainError(mainError?: Partial<MainError> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoODataError(oDataError?: Partial<ODataError> | undefined): Record<string, (node: ParseNode) => void>;
export interface ErrorDetails 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 code property
     */
    code?: string;
    /**
     * The message property
     */
    message?: string;
    /**
     * The target property
     */
    target?: string;
}
export interface InnerError 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;
    /**
     * Client request Id as sent by the client application.
     */
    clientRequestId?: string;
    /**
     * Date when the error occured.
     */
    date?: Date;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * Request Id as tracked internally by the service
     */
    requestId?: string;
}
export interface MainError 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 code property
     */
    code?: string;
    /**
     * The details property
     */
    details?: ErrorDetails[];
    /**
     * The innerError property
     */
    innerError?: InnerError;
    /**
     * The message property
     */
    message?: string;
    /**
     * The target property
     */
    target?: string;
}
export interface ODataError extends AdditionalDataHolder, ApiError, 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 error property
     */
    errorEscaped?: MainError;
}
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeErrorDetails(writer: SerializationWriter, errorDetails?: Partial<ErrorDetails> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeInnerError(writer: SerializationWriter, innerError?: Partial<InnerError> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeMainError(writer: SerializationWriter, mainError?: Partial<MainError> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeODataError(writer: SerializationWriter, oDataError?: Partial<ODataError> | undefined): void;
//# sourceMappingURL=index.d.ts.map