import { type BeanDefinitionSupplier } from './bean-definition-supplier.js';
import { type DependencyContainer } from 'tsyringe-neo';
export declare class BeanFactorySupplier<T> implements BeanDefinitionSupplier {
    readonly token: symbol;
    readonly factory: (container: DependencyContainer) => T;
    readonly singleton: boolean;
    private cachedInstance;
    constructor(token: symbol, factory: (container: DependencyContainer) => T, singleton?: boolean);
    register(container: DependencyContainer): void;
}
