/**
 * A simple Dependency Injection container to manage late-binding dependencies
 * and resolve circular references.
 */
export declare class Container {
    private services;
    private factories;
    private parent?;
    constructor(parent?: Container);
    /**
     * Create a child container that inherits from this container
     */
    createChild(): Container;
    /**
     * Register a singleton instance
     */
    register<T>(token: string, instance: T): void;
    /**
     * Register a factory function for lazy resolution
     */
    provide<T>(token: string, factory: () => T): void;
    /**
     * Resolve a service by token
     */
    get<T>(token: string): T | undefined;
    /**
     * Check if a service exists
     */
    has(token: string): boolean;
}
//# sourceMappingURL=container.d.ts.map