import { BasicCompilationEntity, IEwsEntity, IEwsEntityPrivates, IEwsEntityProtectedHooks, IPureObject } from "./base"; export interface IDirective extends IEwsEntity { } export interface IDirectiveProtectedHooks extends IEwsEntityProtectedHooks { onPreAttach(): Promise; onAttach(): Promise; onPostAttach(): Promise; } export interface IDirectivePrivates extends IEwsEntityPrivates<"directive"> { readonly __refId: string; readonly __refOptions: { [name: string]: any; }; } export interface IInnerDirective extends IDirective, IDirectivePrivates, IDirectiveProtectedHooks { } export declare abstract class BasicDirective extends BasicCompilationEntity { constructor(); /** @override */ protected onInit(): Promise; /** @override */ protected onPreAttach(): Promise; /** @override */ protected onAttach(): Promise; /** @override */ protected onPostAttach(): Promise; }