import { HookClass, HookFn } from './hook.js';
import type { IContainer, IContainerModule } from '../container/IContainer.js';
import { HooksRunner } from './HooksRunner.js';
import { type constructor } from '../utils/basic.js';
export declare const onContainerDisposedHooksRunner: HooksRunner;
export declare const onContainerDisposed: (...fns: (HookFn | constructor<HookClass>)[]) => (target: object, propertyKey: string | symbol) => void;
export type OnDisposeHook = (scope: IContainer) => void;
export declare class AddOnDisposeHookModule implements IContainerModule {
    applyTo(container: IContainer): void;
}
