import ts from "typescript"; import { InjectDIToken, Injector } from "@bonbons/di"; import { AnonymousStatementGenerator, ClassGenerator, FunctionGenerator, IBasicEntityProvider, IInnerCompnentChildRef, IInnerComponent, IInnerComposition, IInnerCompositionChildRef, IInnerDirective, IInnerDirectiveChildRef, ImportGenerator, SourceFileContext, VariableGenerator } from "../../core"; import { BasicHelper } from "../entity-helper"; export declare function wrapMetaIntoCtor>(ctor: T, provider: string): T; export declare function getMetaFromCtor>(ctor: T): string | null; export declare abstract class BasicEntityProvider implements IBasicEntityProvider { protected readonly injector: Injector; protected readonly helper: BasicHelper; constructor(injector: Injector, helper: BasicHelper); attachInstance(context: SourceFileContext, ref: IInnerCompnentChildRef | IInnerDirectiveChildRef | IInnerCompositionChildRef): Promise; resolveExtensionsMetadata(_: InjectDIToken): {}; beforeImportsCreated(context: SourceFileContext, imports: ImportGenerator[]): ImportGenerator[]; beforeVariablesCreated(context: SourceFileContext, variables: VariableGenerator[]): VariableGenerator[]; beforeClassesCreated(context: SourceFileContext, classes: ClassGenerator[]): ClassGenerator[]; beforeFunctionsCreated(context: SourceFileContext, funcs: FunctionGenerator[]): FunctionGenerator[]; beforeStatementsCreated(context: SourceFileContext, statements: AnonymousStatementGenerator[]): AnonymousStatementGenerator[]; afterImportsCreated(context: SourceFileContext, imports: ts.ImportDeclaration[]): ts.ImportDeclaration[]; afterVariablesCreated(context: SourceFileContext, variables: ts.VariableStatement[]): ts.VariableStatement[]; afterClassesCreated(context: SourceFileContext, classes: ts.ClassDeclaration[]): ts.ClassDeclaration[]; afterFunctionsCreated(context: SourceFileContext, funcs: ts.FunctionDeclaration[]): ts.FunctionDeclaration[]; afterStatementsCreated(context: SourceFileContext, statements: ts.Statement[]): ts.Statement[]; protected attachComponent(instance: IInnerComponent, { input, attach }: IInnerCompnentChildRef["__options"]): Promise; protected attachDirective(instance: IInnerDirective, { input }: IInnerDirectiveChildRef["__options"]): Promise; protected attachComposition(instance: IInnerComposition, { input }: IInnerCompositionChildRef["__options"]): Promise; private _setInputs; private _setAttach; private _setVariableRefs; private _combineImports; }