import { CSSProperties } from 'glamor';
import { ButtonStyles } from '../Button';
/**
 * Interface for styles to be applied to the input label component
 */
export interface InputLabelStyles {
    /**
     * Styles for the text in the label
     */
    text?: CSSProperties;
    /**
     * Styles for the required indicator
     */
    required?: CSSProperties;
}
/**
 * Interface for styles to be applied to the toggle type button
 */
export interface InputToggleTypeButtonStyles {
    /**
     * Styles for the wrapper of the button
     */
    wrapper?: CSSProperties;
    /**
     * Styles for the button
     * @see ButtonStyles
     */
    button?: ButtonStyles;
}
/**
 * Interface for styles to be applied to the input component
 */
export interface InputComponentStyles {
    /**
     * Styles for the container of the input.
     */
    container?: CSSProperties;
    /**
     * Styles for the label of the input element
     */
    label?: InputLabelStyles;
    /**
     * Styles for the input element
     */
    input?: CSSProperties;
    /**
     * Styles for the description, the description is
     * a text that appears below the input label and
     * above the input element.
     */
    description?: CSSProperties;
    /**
     * Styles for the toggle input type button when the input
     * is of type password. Or when the input is set to be
     * of password, this will be the button that toggles
     * the password visibility.
     */
    passwordToggleButton?: InputToggleTypeButtonStyles;
}
