///
import { BasicCompilationEntity, IEwsEntity, IEwsEntityPrivates, IEwsEntityProtectedHooks, IPureObject } from "./base";
import { IInnerCompnentChildRef, IInnerCompositionChildRef } from "./child-ref";
export interface IComposition extends IEwsEntity {
}
export interface ICompositionProtectedHooks extends IEwsEntityProtectedHooks {
onRender(): Promise;
onEmit(options: IInnerCompositionChildRef): Promise;
}
export interface ICompositionPrivates extends IEwsEntityPrivates<"composition"> {
readonly __refId: string;
readonly __refOptions: {
[name: string]: any;
};
}
export interface IInnerComposition extends IComposition, ICompositionPrivates, ICompositionProtectedHooks {
}
export declare abstract class BasicComposition extends BasicCompilationEntity {
constructor();
/** @override */
protected onInit(): Promise;
/** @override */
protected onRender(): Promise;
/** @override */
protected onEmit(_: IInnerCompositionChildRef): Promise;
}