"use client";

import { ComponentConfig } from "@/types/component";

/**
 * ToggleSwitch 컴포넌트 설정 타입
 */
export interface ToggleSwitchConfig extends ComponentConfig {
    // boolean 관련 설정
  placeholder?: string;
  
  // 공통 설정
  disabled?: boolean;
  required?: boolean;
  readonly?: boolean;
  placeholder?: string;
  helperText?: string;
  
  // 스타일 관련
  variant?: "default" | "outlined" | "filled";
  size?: "sm" | "md" | "lg";
  
  // 이벤트 관련
  onChange?: (value: any) => void;
  onFocus?: () => void;
  onBlur?: () => void;
  onClick?: () => void;
}

/**
 * ToggleSwitch 컴포넌트 Props 타입
 */
export interface ToggleSwitchProps {
  id?: string;
  name?: string;
  value?: any;
  config?: ToggleSwitchConfig;
  className?: string;
  style?: React.CSSProperties;
  
  // 이벤트 핸들러
  onChange?: (value: any) => void;
  onFocus?: () => void;
  onBlur?: () => void;
  onClick?: () => void;
}
