import * as React from 'react';
import { FormText } from '../../Components';
import { IChangingPresentation, IDynamicPresentation, IPresentation, IRestrictedPresentation } from '../../Presentations';
import { IDynamicProps } from '../IDynamicProps';
import { IOperativeProps } from '../IOperativeProps';
import { ISingleValueInputElementProps } from '../ISingleValueInputElementProps';
interface ISingleValueInputElementWrapperState<TValue, TDynamicProps> {
    value: TValue;
    errorMessage: FormText;
    isLoading: boolean;
    isVisible: boolean;
    dynamicProps: TDynamicProps;
}
export interface ISingleValueInputElementWrapperProps<TValue, TComponentProps, TDynamicProps> {
    internalComponent: React.ComponentType<ISingleValueInputElementProps<TValue> & IOperativeProps<TComponentProps> & IDynamicProps<TDynamicProps>>;
    inputProps: ISingleValueInputElementProps<TValue>;
    operativeProps: TComponentProps;
    initialDynamicProps: TDynamicProps;
    isInitiallyLoading: boolean;
    isInitiallyVisible: boolean;
    loadingIndicator: React.ComponentType;
    renderErrors: boolean;
}
export declare class SingleValueInputElementWrapper<TValue, TComponentProps, TDynamicProps> extends React.Component<ISingleValueInputElementWrapperProps<TValue, TComponentProps, TDynamicProps>, ISingleValueInputElementWrapperState<TValue, TDynamicProps>> implements IPresentation, IChangingPresentation<TValue>, IRestrictedPresentation, IDynamicPresentation<TDynamicProps> {
    constructor(props: ISingleValueInputElementWrapperProps<TValue, ISingleValueInputElementProps<TValue> & TComponentProps, TDynamicProps>);
    startLoading: () => void;
    stopLoading: () => void;
    hide: () => void;
    show: () => void;
    update: (newValue: TValue) => void;
    setError: (errorMessage: FormText) => void;
    changeDynamicProps: (dynamicProps: TDynamicProps) => void;
    render: () => JSX.Element;
    private renderInternalContent;
}
export {};
