import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { InkeepAnalyticsError } from "./inkeepanalyticserror.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
/**
 * A short code indicating the error code returned.
 */
export declare const Code: {
    readonly BadRequest: "bad_request";
};
/**
 * A short code indicating the error code returned.
 */
export type Code = ClosedEnum<typeof Code>;
/**
 * A short code indicating the error code returned.
 */
export declare const BadRequestCode: {
    readonly BadRequest: "bad_request";
};
/**
 * A short code indicating the error code returned.
 */
export type BadRequestCode = ClosedEnum<typeof BadRequestCode>;
/**
 * Legacy error format for backward compatibility.
 */
export type ErrorT = {
    /**
     * A short code indicating the error code returned.
     */
    code: BadRequestCode;
    /**
     * A concise error message suitable for display to end users. May be truncated if the full detail is long.
     */
    message: string;
};
export type BadRequestData = {
    /**
     * A short, human-readable summary of the problem type.
     */
    title: string;
    /**
     * The HTTP status code.
     */
    status: number;
    /**
     * A detailed explanation specific to this occurrence of the problem, providing context and specifics about what went wrong.
     */
    detail: string;
    /**
     * A URI reference that identifies the specific occurrence of the problem.
     */
    instance?: string | undefined;
    /**
     * A unique identifier for the request, useful for troubleshooting.
     */
    requestId?: string | undefined;
    /**
     * A short code indicating the error code returned.
     */
    code: Code;
    /**
     * Legacy error format for backward compatibility.
     */
    error: ErrorT;
};
export declare class BadRequest extends InkeepAnalyticsError {
    /**
     * A short, human-readable summary of the problem type.
     */
    title: string;
    /**
     * The HTTP status code.
     */
    status: number;
    /**
     * A detailed explanation specific to this occurrence of the problem, providing context and specifics about what went wrong.
     */
    detail: string;
    /**
     * A URI reference that identifies the specific occurrence of the problem.
     */
    instance?: string | undefined;
    /**
     * A unique identifier for the request, useful for troubleshooting.
     */
    requestId?: string | undefined;
    /**
     * A short code indicating the error code returned.
     */
    code: Code;
    /**
     * Legacy error format for backward compatibility.
     */
    error: ErrorT;
    /** The original data that was passed to this error instance. */
    data$: BadRequestData;
    constructor(err: BadRequestData, httpMeta: {
        response: Response;
        request: Request;
        body: string;
    });
}
/** @internal */
export declare const Code$inboundSchema: z.ZodNativeEnum<typeof Code>;
/** @internal */
export declare const Code$outboundSchema: z.ZodNativeEnum<typeof Code>;
/** @internal */
export declare const BadRequestCode$inboundSchema: z.ZodNativeEnum<typeof BadRequestCode>;
/** @internal */
export declare const BadRequestCode$outboundSchema: z.ZodNativeEnum<typeof BadRequestCode>;
/** @internal */
export declare const ErrorT$inboundSchema: z.ZodType<ErrorT, z.ZodTypeDef, unknown>;
/** @internal */
export type ErrorT$Outbound = {
    code: string;
    message: string;
};
/** @internal */
export declare const ErrorT$outboundSchema: z.ZodType<ErrorT$Outbound, z.ZodTypeDef, ErrorT>;
export declare function errorToJSON(errorT: ErrorT): string;
export declare function errorFromJSON(jsonString: string): SafeParseResult<ErrorT, SDKValidationError>;
/** @internal */
export declare const BadRequest$inboundSchema: z.ZodType<BadRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type BadRequest$Outbound = {
    title: string;
    status: number;
    detail: string;
    instance?: string | undefined;
    requestId?: string | undefined;
    code: string;
    error: ErrorT$Outbound;
};
/** @internal */
export declare const BadRequest$outboundSchema: z.ZodType<BadRequest$Outbound, z.ZodTypeDef, BadRequest>;
//# sourceMappingURL=badrequest.d.ts.map