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

import '../controlskin';

declare module '@devseed-ui/form' {
  export interface formLabelProps {
    /**
     * Display an (optional) hint
     * @default false
     */
    optional?: boolean;

    /**
     * Display a (required) hint
     * @default false
     */
    required?: boolean;

    /**
     * Display a custom hint
     */
    hint?: React.ReactNode;
  }

  /**
   * Renders a styled <label> with an optional hint.
   * 
   * @param {formLabelProps} props Props for the form label
   */
  export const FormLabel: StyledComponent<'label', DefaultTheme, formLabelProps, never>
}
