import { NeuraAppError } from "../errors/app.error";
import { INeuraLogger } from "./logger.util";
/**
 * Basic interface for Application error handling
 */
export interface INeuraErrorHandler {
    onClose: (cb: () => Promise<void>) => void;
    handleError: (error: unknown) => void;
}
export declare class NeuraErrorHandler implements INeuraErrorHandler {
    protected readonly logger: INeuraLogger;
    protected onCloseCb?: () => Promise<void>;
    constructor(logger: INeuraLogger);
    onClose(cb: () => Promise<void>): void;
    handleError(error: unknown): Promise<void>;
    protected listenNativeEvents(): void;
    protected closeApp(): Promise<void>;
    protected normalizeError(errorToHandle: unknown): NeuraAppError;
}
