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 ForbiddenCode: {
    readonly Forbidden: "forbidden";
};
/**
 * A short code indicating the error code returned.
 */
export type ForbiddenCode = ClosedEnum<typeof ForbiddenCode>;
/**
 * A short code indicating the error code returned.
 */
export declare const ForbiddenErrorCode: {
    readonly Forbidden: "forbidden";
};
/**
 * A short code indicating the error code returned.
 */
export type ForbiddenErrorCode = ClosedEnum<typeof ForbiddenErrorCode>;
/**
 * Legacy error format for backward compatibility.
 */
export type ForbiddenError = {
    /**
     * A short code indicating the error code returned.
     */
    code: ForbiddenErrorCode;
    /**
     * A concise error message suitable for display to end users. May be truncated if the full detail is long.
     */
    message: string;
};
export type ForbiddenData = {
    /**
     * 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: ForbiddenCode;
    /**
     * Legacy error format for backward compatibility.
     */
    error: ForbiddenError;
};
export declare class Forbidden 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: ForbiddenCode;
    /**
     * Legacy error format for backward compatibility.
     */
    error: ForbiddenError;
    /** The original data that was passed to this error instance. */
    data$: ForbiddenData;
    constructor(err: ForbiddenData, httpMeta: {
        response: Response;
        request: Request;
        body: string;
    });
}
/** @internal */
export declare const ForbiddenCode$inboundSchema: z.ZodNativeEnum<typeof ForbiddenCode>;
/** @internal */
export declare const ForbiddenCode$outboundSchema: z.ZodNativeEnum<typeof ForbiddenCode>;
/** @internal */
export declare const ForbiddenErrorCode$inboundSchema: z.ZodNativeEnum<typeof ForbiddenErrorCode>;
/** @internal */
export declare const ForbiddenErrorCode$outboundSchema: z.ZodNativeEnum<typeof ForbiddenErrorCode>;
/** @internal */
export declare const ForbiddenError$inboundSchema: z.ZodType<ForbiddenError, z.ZodTypeDef, unknown>;
/** @internal */
export type ForbiddenError$Outbound = {
    code: string;
    message: string;
};
/** @internal */
export declare const ForbiddenError$outboundSchema: z.ZodType<ForbiddenError$Outbound, z.ZodTypeDef, ForbiddenError>;
export declare function forbiddenErrorToJSON(forbiddenError: ForbiddenError): string;
export declare function forbiddenErrorFromJSON(jsonString: string): SafeParseResult<ForbiddenError, SDKValidationError>;
/** @internal */
export declare const Forbidden$inboundSchema: z.ZodType<Forbidden, z.ZodTypeDef, unknown>;
/** @internal */
export type Forbidden$Outbound = {
    title: string;
    status: number;
    detail: string;
    instance?: string | undefined;
    requestId?: string | undefined;
    code: string;
    error: ForbiddenError$Outbound;
};
/** @internal */
export declare const Forbidden$outboundSchema: z.ZodType<Forbidden$Outbound, z.ZodTypeDef, Forbidden>;
//# sourceMappingURL=forbidden.d.ts.map