export type Token = symbol & { __type?: T; }; export declare function createToken(description: string): Token; type Scope = 'singleton' | 'scoped'; type Provider = { scope?: Scope; useValue?: T; useFactory?: () => T; }; export type RuntimeContainer = ReturnType; export declare function createContainer(): { register(token: Token, provider: Provider): void; resolve(token: Token): T; has(token: Token): boolean; }; export {};