import { AsyncHandler } from 'asynchronous-handlers';
/**
 * Wraps around an {@link AsyncHandler} to make sure all errors thrown are an {@link HttpError}.
 * In the case of an {@link AggregateError} containing HttpErrors,
 * the status code will be determined based on what makes most sense for them.
 */
export declare class StatusHandler<TIn = void, TOut = void> extends AsyncHandler<TIn, TOut> {
    protected readonly handler: AsyncHandler<TIn, TOut>;
    constructor(handler: AsyncHandler<TIn, TOut>);
    canHandle(input: TIn): Promise<void>;
    handle(input: TIn): Promise<TOut>;
    handleSafe(input: TIn): Promise<TOut>;
}
