/// <reference types="http-errors" />
import { IObjectError } from '@jacquesparis/objects-model';
import { HttpErrors } from '@loopback/rest';
export declare class ApplicationError implements IObjectError, HttpErrors.HttpError {
    errorCode: string;
    errorArgs: {
        [field: string]: any;
    };
    status: number;
    statusCode: number;
    expose: boolean;
    headers?: {
        [key: string]: string;
    } | undefined;
    name: string;
    stack?: string | undefined;
    message: string;
    private constructor();
    static authenticationNeeded(): ApplicationError;
    static forbidden(): ApplicationError;
    static authenticationFailed(): HttpErrors.HttpError;
    static unexpectedError(err: any): ApplicationError;
    static notFound(fields: {
        [field: string]: any;
    }): ApplicationError;
    static wrongValue(fields: {
        [field: string]: any;
    }): ApplicationError;
    static format(format: string, fields: {
        [field: string]: any;
    }): ApplicationError;
    static tooMany(fields: {
        [field: string]: any;
    }): ApplicationError;
    static corruptedData(fields: {
        [field: string]: any;
    }): ApplicationError;
    static conflict(fields: {
        [field: string]: any;
    }): ApplicationError;
    static missing(fields: {
        [field: string]: any;
    }): ApplicationError;
    static incompatible(fields: {
        [field: string]: any;
    }): ApplicationError;
    static missingParameter(parameter: string): ApplicationError;
    static unauthorizedValue(fields: {
        [field: string]: any;
    }): ApplicationError;
    static notImplemented(fields: {
        [field: string]: any;
    }): ApplicationError;
    static outOfMemoryError(): ApplicationError;
}
