import { IPublicTypeNodeDataType, IPublicTypeProjectSchema } from "@gant-lowcode/lowcode-types";
import { IContainerInfo, IParseResult, ISchemaParser } from "../types";
import type { ProjectRemark } from "../types/intermediate";
export declare class SchemaParser implements ISchemaParser {
    validate(schema: IPublicTypeProjectSchema): boolean;
    parse(schemaSrc: IPublicTypeProjectSchema | string): IParseResult;
    getProjectRemark(containers: IContainerInfo[]): ProjectRemark;
    getComponentNames(children: IPublicTypeNodeDataType): string[];
    /**
     * 解码输入的 schema 数据，将其转换为标准的 IPublicTypeProjectSchema 格式。
     *
     * @param schemaSrc - 输入的 schema 数据，可以是字符串（JSON 格式）或已解析的对象。
     * @returns 返回解析后的 IPublicTypeProjectSchema 对象。
     * @throws CodeGeneratorError - 如果输入的 schemaSrc 是字符串且无法解析为有效的 JSON，将抛出错误。
     */
    decodeSchema(schemaSrc: string | IPublicTypeProjectSchema): IPublicTypeProjectSchema;
    private collectDataSourcesTypes;
}
export default SchemaParser;
