import { errors, status } from '@synnaxlabs/x';
export interface Adder {
    <D = undefined>(spec: status.Crude<D>): void;
}
export interface ErrorHandler {
    (func: () => Promise<void> | void, message?: string, skip?: errors.Matchable | errors.Matchable[]): void;
    (exc: unknown, message?: string, skip?: errors.Matchable | errors.Matchable[]): void;
}
export interface AsyncErrorHandler {
    (func: () => Promise<void> | void, message?: string, skip?: errors.Matchable | errors.Matchable[]): Promise<void>;
    (exc: unknown, message?: string, skip?: errors.Matchable | errors.Matchable[]): Promise<void>;
}
export declare const createErrorHandler: (add: Adder) => ErrorHandler;
export declare const createAsyncErrorHandler: (add: Adder) => AsyncErrorHandler;
//# sourceMappingURL=errorHandler.d.ts.map