/** * Editor Integration * * Cung cấp các hàm để tích hợp gencode với editor */ import { ComponentSchema, GeneratorOptions } from '../types'; /** * Interface cho EditorState */ export interface EditorState { getComponent: (componentId: string) => any; selectedComps: () => Record; getApplicationDSL: () => any; } /** * Lấy DSL từ EditorState * * @param editorState EditorState * @returns DSL */ export declare function getDSLFromEditor(editorState: EditorState): any; /** * Tạo schema từ DSL của editor * * @param dsl DSL từ editor * @returns ComponentSchema */ export declare function createSchemaFromEditorDSL(dsl: any): ComponentSchema; /** * Tạo mã từ DSL của editor * * @param editorState EditorState * @param options Các tùy chọn cho generator * @returns Promise */ export declare function generateCodeFromEditor(editorState: EditorState, options: GeneratorOptions): Promise; /** * Tạo mã từ DSL được cung cấp trực tiếp * * @param dsl DSL * @param options Các tùy chọn cho generator * @returns Promise */ export declare function generateCodeFromDSL(dsl: any, options: GeneratorOptions): Promise; /** * Tạo mã từ Redux state * * @param getState Hàm lấy state từ Redux * @param options Các tùy chọn cho generator * @returns Promise */ export declare function generateCodeFromRedux(getState: () => any, options: GeneratorOptions): Promise;