/** * Schema Generator * * Cung cấp các hàm để tạo và thao tác với component schema */ import { ComponentSchema, PropSchema, StyleSchema, EventSchema, MethodSchema } from './types'; /** * Tạo một component schema mới * * @param type Loại component * @param name Tên component * @param props Các thuộc tính của component * @returns ComponentSchema */ export declare function createComponentSchema(type: string, name: string, props?: Record): ComponentSchema; /** * Thêm một component con vào component cha * * @param parent Component cha * @param child Component con * @returns ComponentSchema đã được cập nhật */ export declare function addChildToSchema(parent: ComponentSchema, child: ComponentSchema): ComponentSchema; /** * Thêm một thuộc tính vào component schema * * @param schema Component schema * @param propName Tên thuộc tính * @param propSchema Schema của thuộc tính * @returns ComponentSchema đã được cập nhật */ export declare function addPropToSchema(schema: ComponentSchema, propName: string, propSchema: PropSchema): ComponentSchema; /** * Thêm style vào component schema * * @param schema Component schema * @param styles Các style cần thêm * @returns ComponentSchema đã được cập nhật */ export declare function addStylesToSchema(schema: ComponentSchema, styles: StyleSchema): ComponentSchema; /** * Thêm một event vào component schema * * @param schema Component schema * @param event Event cần thêm * @returns ComponentSchema đã được cập nhật */ export declare function addEventToSchema(schema: ComponentSchema, event: EventSchema): ComponentSchema; /** * Thêm một state được expose vào component schema * * @param schema Component schema * @param stateName Tên state * @returns ComponentSchema đã được cập nhật */ export declare function addExposedState(schema: ComponentSchema, stateName: string): ComponentSchema; /** * Thêm một method được expose vào component schema * * @param schema Component schema * @param method Method cần expose * @returns ComponentSchema đã được cập nhật */ export declare function addExposedMethod(schema: ComponentSchema, method: MethodSchema): ComponentSchema; /** * Kiểm tra tính hợp lệ của component schema * * @param schema Component schema cần kiểm tra * @returns boolean */ export declare function validateSchema(schema: ComponentSchema): boolean; /** * Chuyển đổi component schema thành JSON * * @param schema Component schema * @returns string */ export declare function schemaToJson(schema: ComponentSchema): string; /** * Chuyển đổi JSON thành component schema * * @param json JSON string * @returns ComponentSchema */ export declare function jsonToSchema(json: string): ComponentSchema;