interface IErrorOptions {
    cause?: Error;
}
export interface ISerializedError {
    message: string;
    stack?: string;
    code?: string | number;
    [key: PropertyKey]: unknown;
}
/**
 * An error that serializes!
 * It is a copy of the normal definition of an error but allows
 * to serialize the value via the toJSON() function and restore previous values
 * with the `new()` function.
 */
export declare class SerializableError {
    message: string;
    code?: number | string;
    private stackValue?;
    get stack(): string | undefined;
    readonly name: string;
    constructor(message?: string | Error, options?: IErrorOptions | number | string);
    new(values: ISerializedError): void;
    toJSON(): ISerializedError;
    toString(): string;
}
export {};
//# sourceMappingURL=SerializableError.d.ts.map