import { FormPresenterHost } from "./FormComponent";
import { defs } from "./FormHost";
export declare function getTitleId(elementId: string): string;
export declare function getDescriptionId(elementId: string): string;
/**
 * Renders a Form Element's title, or returns null if there is no text to show.
 * @param element The Form Element whose title is to be rendered.
 * @param host The FormPresenterHost responsible for rendering the Form Element.
 * @param formElementId The id of the Form Element's outermost HTML Element.
 * @param className (optional) Any additional classes to add to the element.
 */
export declare function renderTitle(element: defs.Element, host: FormPresenterHost, formElementId: string, className?: string): JSX.Element;
/**
 * Renders a Form Element's description, or returns null if there is no text to show.
 * @param element The Form Element whose title is to be rendered.
 * @param host The FormPresenterHost responsible for rendering the Form Element.
 * @param formElementDomId The name of the Form Element's outermost DOM element.
 * @param className (optional) Any additional classes to add to the element.
 */
export declare function renderDescription(element: defs.Element, host: FormPresenterHost, formElementDomId: string, className?: string): JSX.Element;
export declare function renderError(element: defs.Element, host: FormPresenterHost): JSX.Element;
/**
 * Asks the host to focus the provided element when the form is initially shown.
 * Ignores the specified target if it is null or disabled.
 *
 * NOTE: Some elements contain more elaborate forms of this element.
 *       For simplicity, this one replaces the basic cases which were all identical.
 * @param target The HTML Element to receive focus.
 * @param name The name of the Form Element.
 * @param host The form presenter host.
 */
export declare function renderFocus(target: HTMLElement & {
    disabled?: boolean | undefined;
}, name: string, host: FormPresenterHost): void;
