import { HookClass, HookFn } from './hook.js';
import type { IContainer, IContainerModule } from '../container/IContainer.js';
import { constructor } from '../utils/basic.js';
import { HooksRunner } from './HooksRunner.js';
import type { OnExceptionHandler } from './onConstruct.js';
export declare const onConstructAsyncHooksRunner: HooksRunner;
export declare const onConstructAsync: (...fns: (HookFn | constructor<HookClass>)[]) => (target: object, propertyKey: string | symbol) => void;
export declare class AddOnConstructAsyncHookModule implements IContainerModule {
    private readonly onException?;
    constructor(onException?: OnExceptionHandler | undefined);
    applyTo(container: IContainer): void;
}
