import { DefaultTheme, StyledComponent } from 'styled-components';

import '../controlskin';

declare module '@devseed-ui/form' {

  // The property `size` in formSkinStylesProps clashes with the size property
  // of input fields. To overcome this problem we create a faux input without
  // the size property.
  // TODO: Fix size override.
  type SelectComponent = React.FC<Omit<JSX.IntrinsicElements['input'], 'size'>>

  /**
   * Renders a styled <input>
   * @param {formInputProps} props Props for the form input
   */
  export const FormSelect: StyledComponent<SelectComponent, DefaultTheme, formSkinStylesProps, never>
}
