// 자동 채움 매핑 타입
export interface AutoFillMapping {
  sourceField: string; // 선택된 엔티티의 필드 (예: customer_name)
  targetField: string; // 폼의 필드 (예: partner_name)
}

export interface EntitySearchInputConfig {
  tableName: string;
  displayField: string;
  valueField: string;
  searchFields?: string[];
  filterCondition?: Record<string, any>;
  mode?: "select" | "autocomplete" | "modal" | "combo";
  placeholder?: string;
  modalTitle?: string;
  modalColumns?: string[];
  showAdditionalInfo?: boolean;
  additionalFields?: string[];
  
  // 다중 선택 설정
  multiple?: boolean; // 여러 항목 선택 가능 여부 (기본: false)
  
  // 연쇄관계 설정 (cascading_relation 테이블과 연동)
  cascadingRelationCode?: string; // 연쇄관계 코드 (WAREHOUSE_LOCATION 등)
  cascadingRole?: "parent" | "child"; // 역할 (부모/자식)
  cascadingParentField?: string; // 부모 필드의 컬럼명 (자식 역할일 때만 사용)
  
  // 자동 채움 매핑 설정
  autoFillMappings?: AutoFillMapping[]; // 엔티티 선택 시 다른 필드에 자동으로 값 채우기
}

