import * as z from "zod/v3";
import * as components from "../components/index.js";
import { IamClientError } from "./iamclienterror.js";
/**
 * Error response conforming to RFC 9457 (Problem Details for HTTP APIs).
 *
 * @remarks
 * See: https://www.rfc-editor.org/rfc/rfc9457.html
 */
export type ErrDetailsData = {
    /**
     * A URI reference that identifies the problem type. When dereferenced,
     *
     * @remarks
     * it should provide human-readable documentation for the problem type.
     * Use "about:blank" when no specific type documentation exists.
     */
    type: string;
    /**
     * A short, human-readable summary of the problem type. Should not change between occurrences.
     */
    title: string;
    /**
     * The HTTP status code generated by the origin server for this occurrence of the problem.
     */
    status: number;
    /**
     * A human-readable explanation specific to this occurrence of the problem.
     */
    detail?: string | undefined;
    /**
     * A URI reference that identifies the specific occurrence of the problem (typically the request path).
     */
    instance?: string | undefined;
    /**
     * An array of detailed validation error objects when multiple issues exist.
     *
     * @remarks
     * Each entry identifies a specific field-level or parameter-level error.
     */
    errors?: Array<components.ValidationError> | undefined;
    /**
     * Unique identifier for the request, useful for tracing and debugging with support.
     */
    requestId?: string | undefined;
    /**
     * The timestamp when the error occurred.
     */
    timestamp?: Date | undefined;
};
/**
 * Error response conforming to RFC 9457 (Problem Details for HTTP APIs).
 *
 * @remarks
 * See: https://www.rfc-editor.org/rfc/rfc9457.html
 */
export declare class ErrDetails extends IamClientError {
    /**
     * A URI reference that identifies the problem type. When dereferenced,
     *
     * @remarks
     * it should provide human-readable documentation for the problem type.
     * Use "about:blank" when no specific type documentation exists.
     */
    type: string;
    /**
     * A short, human-readable summary of the problem type. Should not change between occurrences.
     */
    title: string;
    /**
     * The HTTP status code generated by the origin server for this occurrence of the problem.
     */
    status: number;
    /**
     * A human-readable explanation specific to this occurrence of the problem.
     */
    detail?: string | undefined;
    /**
     * A URI reference that identifies the specific occurrence of the problem (typically the request path).
     */
    instance?: string | undefined;
    /**
     * An array of detailed validation error objects when multiple issues exist.
     *
     * @remarks
     * Each entry identifies a specific field-level or parameter-level error.
     */
    errors?: Array<components.ValidationError> | undefined;
    /**
     * Unique identifier for the request, useful for tracing and debugging with support.
     */
    requestId?: string | undefined;
    /**
     * The timestamp when the error occurred.
     */
    timestamp?: Date | undefined;
    /** The original data that was passed to this error instance. */
    data$: ErrDetailsData;
    constructor(err: ErrDetailsData, httpMeta: {
        response: Response;
        request: Request;
        body: string;
    });
}
/** @internal */
export declare const ErrDetails$inboundSchema: z.ZodType<ErrDetails, z.ZodTypeDef, unknown>;
//# sourceMappingURL=errdetails.d.ts.map