import { AbstractApplicationContext, IApplicationContextAware, IApplicationContext } from ".."; export declare const ApplicationContextToken: unique symbol; export declare const ConsumerToken: unique symbol; export declare const ConsumerTestToken: unique symbol; export declare const ProviderToken: unique symbol; export declare const ProviderImplToken: unique symbol; export declare const ProviderPluginToken1: unique symbol; export declare const ProviderPluginToken2: unique symbol; export declare const ConfigurationToken: unique symbol; export declare const ConfigurationPluginsToken: unique symbol; export interface IPlugin { applyPluginTo(obj: T): any; } export interface IProvider { provide(): number; } export declare class ProviderImpl implements IProvider { provide(): number; } export declare class Consumer { provider: IProvider; consume(): number; } export declare class ProviderPlugin1 implements IProvider, IApplicationContextAware { context?: IApplicationContext; provider?: IProvider; construct(): void; provide(): number; } export declare class ProviderPlugin2 implements IProvider, IApplicationContextAware { context?: IApplicationContext; provider: IProvider; construct(): void; provide(): number; } export declare class ConfigurationPlugins implements IApplicationContextAware { context?: IApplicationContext; provider?: IProvider; providerBean(): Promise; } export declare class ApplicationTestContext extends AbstractApplicationContext { configure(): void; start(): Promise; } export declare class ConsumerTest extends Consumer { test1(): void; }