import { toPixels } from '../../../global-utils/GlobalUtils'; import { TextAreaV2TokensType } from './TextAreaV2.tokens'; import { InputSizeV2, InputStateV2 } from '../inputV2.types'; export declare function getTextAreaAriaDescribedBy(hintText: string | undefined, error: { show: boolean; message?: string; }, hintId: string, errorId: string): string | undefined; export declare function getTextAreaLabelState(disabled: boolean | undefined, errorShow: boolean, isFocused: boolean): InputStateV2; export type TextAreaInputPadding = { paddingTop: number; paddingBottom: number; paddingLeft: number; paddingRight: number; /** Base top token — FloatingLabelsV2 anchor (not the scaled focused top). */ floatingLabelTopPadding: number; floatingLabelLeftPadding: number; }; /** * Computes textarea padding from tokens. On small screens when the field has focus or * value, top padding increases and bottom goes to 0 to make room for the floating label. */ export declare function getTextAreaInputPadding({ inputContainer, size, isSmallScreen, inputFocusedOrWithValue, hasLabel, }: { inputContainer: TextAreaV2TokensType['inputContainer']; size: InputSizeV2; isSmallScreen: boolean; inputFocusedOrWithValue: boolean; hasLabel: boolean; }): TextAreaInputPadding; /** * Minimum textarea height so the visible area matches `rows` lines of text at the * given line-height, including vertical padding (same numbers as {@link getTextAreaInputPadding}). */ export declare function getTextAreaV2MinHeightFromRows(rows: number, lineHeight: Parameters[0], padding: Pick): number; export type TextAreaInteractionKeys = { borderDefault: 'error' | 'default'; borderHover: 'error' | 'hover'; borderFocus: 'error' | 'focus'; bgDefault: 'error' | 'default'; bgHover: 'error' | 'hover'; textColorKey: 'disabled' | 'default'; }; export declare function getTextAreaInteractionKeys(errorShow: boolean, disabled: boolean | undefined): TextAreaInteractionKeys; /** * Strips TextAreaV2-only props (and `cols`, which this component does not support) so they are * never forwarded to a native {@link HTMLTextAreaElement}. * Use after extracting top-level props, as a safety net for spreads / future API fields. */ export declare function omitTextAreaV2PrivateProps(props: Record): Record;