import { HTTP } from '@cordisjs/plugin-http';
import { MemeErrorResponse } from './types';
export declare class MemeError extends Error {
    readonly httpStatus: number;
    readonly message: string;
    constructor(httpStatus: number, message: string);
}
export declare class MemeDetailedError extends MemeError {
    readonly data: MemeErrorResponse;
    constructor(data: MemeErrorResponse);
}
export declare namespace MemeDetailedError {
    const httpStatus = 500;
}
export declare namespace MemeError {
    const Detailed: typeof MemeDetailedError;
    type Detailed = MemeDetailedError;
    function constructFromHTTPError(error: HTTP.Error): MemeError | undefined;
    function promiseCatchHandler(e: unknown): never;
    function catchWrapper<T>(func: () => Promise<T> | T): Promise<T>;
}
