import { type EntityNamesRecord } from "../entity/entity-manager"; import { type RelationProp } from "../types/types"; /** * Enum의 표시용 라벨을 가져옵니다. * OrderBy, SearchField 등 특수한 경우와 일반 Enum을 구분하여 처리합니다. */ export declare function getLabel(entityId: string, enumId: string): string; /** * 컬럼 이름으로부터 Enum 정보를 추출합니다. * Entity의 prop 중 enum 타입인 것을 찾아 관련 정보를 반환합니다. */ export declare function getEnumInfoFromColName(entityId: string, colName: string): { id: string; targetEntityNames: EntityNamesRecord; targetEntityId: string; title: string; }; /** * 컬럼 이름으로부터 Relation prop 정보를 가져옵니다. * 관계형 prop이 아닌 경우 에러를 발생시킵니다. */ export declare function getRelationPropFromColName(entityId: string, colName: string): RelationProp; /** * FK 컬럼명에서 실제 relation 이름을 추출합니다. * BelongsToOne/OneToOne relation은 subset에서 FK 컬럼명(user_id)으로 생성되므로 변환이 필요하고, * ManyToMany relation은 subset에서 relation명(employee)으로 생성되므로 변환이 불필요합니다. * * @example * getRelationNameFromColumnName("Employee", "user_id") // "user" * getRelationNameFromColumnName("Project", "tag_ids") // "tags" */ export declare function getRelationNameFromColumnName(entityId: string, colName: string): string; /** * 소스 코드에서 객체 선언을 추출합니다. * 중괄호 카운팅 방식으로 중첩된 객체도 정확히 파싱합니다. */ export declare function extractObjectDeclaration(sourceCode: string, varName: string): string; //# sourceMappingURL=helpers.d.ts.map