import { MouseEvent, HTMLAttributes } from 'react'; import { ConfiguredComponent } from '@befe/brick-core'; import { InputWithHoverProps } from './utils/create-hover-feature'; import { InputProps } from './input'; type InputWrapPropsFromInput = Pick; export interface InputWrapperProps extends InputWrapPropsFromInput, InputWithHoverProps { /** * 自定义 class */ className?: string; focus?: boolean; prefixInnerPadding: number; suffixInnerPadding: number; onClick?: (e: MouseEvent) => void; onMouseEnter?: (e: MouseEvent) => void; onMouseLeave?: (e: MouseEvent) => void; refWrapper?: (node: HTMLDivElement | null) => void; } interface InputWrapperState { isHover: boolean; } /** */ export declare class InputWrapper extends ConfiguredComponent { static displayName: string; static defaultProps: { className: string; status: string; prefixInnerPadding: number; suffixInnerPadding: number; focus: boolean; disabled: boolean; }; state: { isHover: boolean; }; elemInput: HTMLDivElement; inputRefs: { prefix: { ref(node: HTMLDivElement | null): void; readonly elem: HTMLDivElement | null; }; suffix: { ref(node: HTMLDivElement | null): void; readonly elem: HTMLDivElement | null; }; append: { ref(node: HTMLDivElement | null): void; readonly elem: HTMLDivElement | null; }; prepend: { ref(node: HTMLDivElement | null): void; readonly elem: HTMLDivElement | null; }; }; hoverFeature: { onMouseEnter: (e: MouseEvent) => void; onMouseLeave: (e: MouseEvent) => void; }; refInput: (node: HTMLDivElement) => void; get size(): "xs" | "sm" | "md" | "lg" | "xl"; get className(): string; /** * @private * 处理前后缀造成的 padding 问题 */ processExtraPadding(): void; componentDidMount(): void; componentDidUpdate(): void; renderWrap(type: 'suffix' | 'prefix', wrapProps?: HTMLAttributes): import("react/jsx-runtime").JSX.Element | null; renderSuffix(): import("react/jsx-runtime").JSX.Element | null; renderPrefix(): import("react/jsx-runtime").JSX.Element | null; render(): import("react/jsx-runtime").JSX.Element; } export {};