import { Right } from '@inversifyjs/common';
import { Binding } from '../../binding/models/Binding';
import { bindingScopeValues } from '../../binding/models/BindingScope';
import { BindingType } from '../../binding/models/BindingType';
import { ScopedBinding } from '../../binding/models/ScopedBinding';
import { DeactivationParams } from '../models/DeactivationParams';
import { Resolved } from '../models/Resolved';
declare const CACHE_KEY_TYPE: keyof ScopedBinding<BindingType, typeof bindingScopeValues.Singleton, unknown>;
type CachedSingletonScopedBinding<TResolved> = Binding & ScopedBinding<BindingType, typeof bindingScopeValues.Singleton, TResolved> & {
    [CACHE_KEY_TYPE]: Right<Resolved<TResolved>>;
};
export declare function resolveBindingPreDestroy<TResolved>(params: DeactivationParams, binding: CachedSingletonScopedBinding<TResolved>): void | Promise<void>;
export {};
//# sourceMappingURL=resolveBindingPreDestroy.d.ts.map