import type { CommandResultExtra } from '../types';
interface KotoriErrorImpl extends Error {
    readonly label?: string;
    readonly extend: () => typeof KotoriError;
}
/**
 * Kotori error
 *
 * @class KotoriError
 * @extends {Error}
 */
export declare class KotoriError extends Error implements KotoriErrorImpl {
    /**
     * Creates an instance of `KotoriError`.
     *
     * @param - Error message
     * @param - Error label
     */
    constructor(message?: string, label?: string);
    /** Error label */
    readonly label?: string;
    extend(): typeof KotoriError;
    static from(err: unknown, label?: string): KotoriError;
}
/**
 * Module error
 *
 * @class ModuleError
 * @extends {KotoriError}
 */
export declare const ModuleError: typeof KotoriError;
/**
 * Dev error
 *
 * @class DevError
 * @extends {KotoriError}
 */
export declare const DevError: typeof KotoriError;
/**
 * Command error
 *
 * @class CommandError
 * @extends {KotoriError}
 */
export declare class CommandError extends KotoriError {
    readonly value: CommandResultExtra[keyof CommandResultExtra];
    constructor(value: CommandResultExtra[keyof CommandResultExtra]);
}
export {};
