import { IApplicationContextAware, IApplicationContext, ApplicationEvent, ApplicationContextStartEvent, AbstractApplicationContext, TDisposer, ApplicationContextBeanRuntimeExceptionEvent, ApplicationContextStopEvent } from ".."; export declare const ApplicationContextToken: unique symbol; export declare const AbstractValueToken: unique symbol; export declare const ConcreteValueToken: unique symbol; export declare const Bean1Token: unique symbol; export declare const Bean2Token: unique symbol; export declare const Bean3Token: unique symbol; export declare const Bean1TestToken: unique symbol; export declare const ConfigurationToken: unique symbol; export declare const CustomConsolePrefixToken: unique symbol; export declare class CustomApplicationEvent extends ApplicationEvent { } export declare class Bean1 { bean2: Bean2; protected construct(): void; protected destruct(): void; getSomething(): number; } export declare class Bean2 implements IApplicationContextAware { context: IApplicationContext; value: number; prefix: string; disposer: TDisposer; construct(): void; destruct(): void; throwError(): void; throwAsyncError(): Promise; protected handleApplicationContextStartEvent(e: ApplicationContextStartEvent): void; protected handleApplicationContextStopEvent(e: ApplicationContextStopEvent): void; protected handleApplicationContextBeanRuntimeExceptionEvent(e: ApplicationContextBeanRuntimeExceptionEvent): void; protected handleCustomApplicationEvent(e: CustomApplicationEvent): void; } export declare class ApplicationContext extends AbstractApplicationContext { configure(): void; start(): Promise; } export declare class ApplicationTestContext extends AbstractApplicationContext { configure(): void; start(): Promise; } export declare class Bean1Test extends Bean1 { getSomething(): number; test1(): void; test2(): Promise; } export declare class Bean3Test extends Bean1 { } export declare class ApplicationConfiguration { consolePrefix(): string; } export declare class ChildContext extends AbstractApplicationContext { }