export interface LoginFormTheme {
  primary?: string
  secondary?: string
  background?: string
  text?: string
  borderRadius?: string
  spacing?: 'compact' | 'normal' | 'relaxed'
}

export interface LoginFormFeatures {
  socialLogin?: boolean | string[]
  rememberMe?: boolean
  forgotPassword?: boolean
  twoFactor?: boolean
  passwordStrength?: boolean
}

export interface LoginFormTexts {
  title?: string
  subtitle?: string
  emailLabel?: string
  passwordLabel?: string
  submitButton?: string
  forgotPasswordLink?: string
  signUpLink?: string
  rememberMeLabel?: string
  orContinueWith?: string
}

export interface LoginData {
  email: string
  password: string
  rememberMe?: boolean
}

export interface ValidationRules {
  email?: (value: string) => string | null
  password?: (value: string) => string | null
}

export interface LoginFormProps {
  // Stil özelleştirme
  theme?: LoginFormTheme
  className?: string
  
  // Yapı özelleştirme
  layout?: 'single' | 'two-column' | 'centered'
  logo?: React.ReactNode
  header?: React.ReactNode
  footer?: React.ReactNode
  
  // Özellik kontrolü
  features?: LoginFormFeatures
  
  // Davranış özelleştirme
  onSubmit?: (data: LoginData) => Promise<void> | void
  onSocialLogin?: (provider: string) => Promise<void> | void
  onForgotPassword?: () => void
  validation?: ValidationRules
  
  // İçerik özelleştirme
  texts?: LoginFormTexts
  
  // Diğer
  autoFocus?: boolean
  disabled?: boolean
}