import type { ErrorIssue } from './error-issue.js';
import { IssueSeverity } from './issue-severity.enum.js';
/**
 * Defines the base Opra exception, which is handled by the default Exceptions Handler.
 */
export declare class OpraException extends Error {
    cause?: Error;
    severity: IssueSeverity.Type;
    system?: string;
    code?: string;
    details?: any;
    constructor(issue: string | Partial<ErrorIssue> | Error, cause?: Error);
    toString(): string;
    toJSON(): ErrorIssue;
    protected init(issue?: Partial<ErrorIssue>): void;
    protected initString(issue: string): void;
    protected initError(issue: Error): void;
}
