import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core'; import { __BaseInputProps, __InputStylesNames, InputVariant } from '../Input'; export type PasswordInputStylesNames = 'root' | 'visibilityToggle' | 'innerInput' | __InputStylesNames; export type PasswordInputCssVariables = { root: '--psi-icon-size' | '--psi-button-size'; }; export interface PasswordInputProps extends BoxProps, Omit<__BaseInputProps, 'pointer'>, StylesApiProps, ElementProps<'input', 'size'> { /** A component to replace the visibility toggle icon */ visibilityToggleIcon?: React.FC<{ reveal: boolean; }>; /** Props passed down to the visibility toggle button */ visibilityToggleButtonProps?: Record; /** If set, the input value is visible */ visible?: boolean; /** If set, the input value is visible by default */ defaultVisible?: boolean; /** Called when visibility changes */ onVisibilityChange?: (visible: boolean) => void; } export type PasswordInputFactory = Factory<{ props: PasswordInputProps; ref: HTMLInputElement; stylesNames: PasswordInputStylesNames; vars: PasswordInputCssVariables; variant: InputVariant; }>; export declare const PasswordInput: import("../..").MantineComponent<{ props: PasswordInputProps; ref: HTMLInputElement; stylesNames: PasswordInputStylesNames; vars: PasswordInputCssVariables; variant: InputVariant; }>; export declare namespace PasswordInput { type Props = PasswordInputProps; type StylesNames = PasswordInputStylesNames; type CssVariables = PasswordInputCssVariables; type Factory = PasswordInputFactory; }