export interface PookaProviderSetupContext { get(name: string): T; has(name: string): boolean; } export interface PookaProvider { name: string; dependsOn?: string[]; setup: (context: PookaProviderSetupContext) => T | Promise; dispose?: (instance: T) => void | Promise; } export interface PookaRuntime { register(provider: PookaProvider): void; registerMany(providers: PookaProvider[]): void; init(): Promise; get(name: string): T; has(name: string): boolean; dispose(): Promise; } export declare function createPookaRuntime(): PookaRuntime; //# sourceMappingURL=index.d.ts.map