// 값 필드 저장 설정
export interface ValueFieldStorage {
  targetTable?: string; // 저장할 테이블명 (기본값: 화면의 연결 테이블)
  targetColumn?: string; // 저장할 컬럼명 (기본값: 바인딩 필드)
}

// 필드 매핑 설정
export interface FieldMapping {
  sourceField: string; // 소스 테이블의 컬럼명 (예: customer_name)
  targetField: string; // 매핑될 타겟 필드 ID (예: 화면의 input ID)
  label?: string; // 표시명
  targetTable?: string; // 저장할 테이블 (선택사항, 기본값은 화면 연결 테이블)
  targetColumn?: string; // 저장할 컬럼명 (선택사항, targetField가 화면 ID가 아닌 경우)
}

export interface AutocompleteSearchInputConfig {
  tableName: string;
  displayField: string;
  valueField: string;
  searchFields?: string[];
  filterCondition?: Record<string, any>;
  placeholder?: string;
  showAdditionalInfo?: boolean;
  additionalFields?: string[];
  // 값 필드 저장 위치 설정
  valueFieldStorage?: ValueFieldStorage;
  // 필드 자동 매핑 설정
  enableFieldMapping?: boolean; // 필드 자동 매핑 활성화 여부
  fieldMappings?: FieldMapping[]; // 매핑할 필드 목록
  // 저장 대상 테이블 (간소화 버전)
  targetTable?: string;
  // 🆕 다중 표시 필드 설정 (여러 컬럼 조합)
  displayFields?: string[]; // 여러 컬럼을 조합하여 표시
  displaySeparator?: string; // 구분자 (기본값: " - ")
}

