/**
 * An error for a specific message. It is thrown when:
 *
 * - the message is missing,
 * - the message contains a syntax error, or
 * - the message cannot be evaluated with the supplied parameters.
 *
 * @since 0.1.7 (`@hi18n/core`)
 */
export declare class MessageError extends Error {
    readonly cause: Error;
    readonly locale?: string | undefined;
    readonly id: string;
    constructor(options: ErrorOptions & {
        cause: Error;
        locale?: string | undefined;
        id: string;
    });
}
/**
 * Missing translation. Usually wrapped in {@link MessageError}.
 *
 * @since 0.1.7 (`@hi18n/core`)
 */
export declare class MissingTranslationError extends Error {
    constructor(message?: string, options?: ErrorOptions);
}
/**
 * No locale specified.
 *
 * @since 0.1.7 (`@hi18n/core`)
 */
export declare class NoLocaleError extends Error {
    constructor(message?: string, options?: ErrorOptions);
}
/**
 * Locale is specified, but no such locale exists in the book.
 *
 * @since 0.1.7 (`@hi18n/core`)
 */
export declare class MissingLocaleError extends Error {
    readonly locale: string;
    readonly availableLocales: readonly string[];
    constructor(options: ErrorOptions & {
        locale: string;
        availableLocales: readonly string[];
    });
}
/**
 * Parse error. Usually wrapped in {@link MessageError}.
 *
 * @since 0.1.7 (`@hi18n/core`)
 */
export declare class ParseError extends Error {
}
/**
 * An error during evaluating messages. Usually wrapped in {@link MessageError}.
 *
 * @since 0.1.7 (`@hi18n/core`)
 */
export declare class MessageEvaluationError extends Error {
}
/**
 * Missing translation argument. Usually wrapped in {@link MessageError}.
 *
 * @since 0.1.7 (`@hi18n/core`)
 */
export declare class MissingArgumentError extends MessageEvaluationError {
    readonly argName: string | number;
    constructor(options: ErrorOptions & {
        argName: string | number;
    });
}
/**
 * Translation argument type mismatch. Usually wrapped in {@link MessageError}.
 *
 * @since 0.1.7 (`@hi18n/core`)
 */
export declare class ArgumentTypeError extends MessageEvaluationError {
    readonly argName: string | number;
    readonly expectedType: string;
    readonly got: unknown;
    constructor(options: ErrorOptions & {
        argName: string | number;
        expectedType: string;
        got: unknown;
    });
}
//# sourceMappingURL=errors.d.ts.map