import React from 'react'; import type { Nullable } from '../typings/Types.js'; import type { ValidationContextType } from './ValidationContextWrapper.js'; export type ValidationBehaviour = 'immediate' | 'lostfocus' | 'submit'; export type ValidationLevel = 'error' | 'warning'; export type TextPosition = 'bottom' | 'right'; export interface Validation { level: ValidationLevel; behaviour: ValidationBehaviour; message: React.ReactNode; independent: boolean; } export type RenderErrorMessage = (control: React.ReactElement, hasError: boolean, validation: Nullable) => React.ReactElement; export interface ValidationWrapperInternalProps { children?: React.ReactElement; validation: Nullable; errorMessage: RenderErrorMessage; 'data-tid'?: string; } interface ValidationWrapperInternalState { validation: Nullable; } interface Point { x: number; y: number; } export declare class ValidationWrapperInternal extends React.Component { state: ValidationWrapperInternalState; isChanging: boolean; private child; private rootNode; static contextType: React.Context; context: ValidationContextType; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(): void; focus(): Promise; render(): React.JSX.Element; private customRef; private setRootNode; getRootNode: () => Nullable; getControlPosition(): Nullable; processBlur(): Promise; processSubmit(): Promise; hasError(): boolean; hasWarning(): boolean; isIndependent(): boolean; private handleBlur; private applyValidation; private setValidation; private getOnBlurValidation; private getVisibleValidation; } export {};