import PropTypes from 'prop-types';
import React from 'react';
import { Errors } from './types';
export interface MessageProps {
    errors?: Errors;
    for: string | string[];
    className?: string;
    filter?: (item: any, i?: number, list?: any[]) => boolean;
    extract?: (errors: any, props: any) => any;
    children?: (errors: any[], props: any) => React.ReactNode;
}
/**
 * Represents a Form validation error message. Only renders when the
 * value that it is `for` is invalid.
 *
 * @alias FormMessage
 * @memberof Form
 */
declare function Message({ errors: propsErrors, for: names, className, filter, extract, children, ...props }: MessageProps): JSX.Element | null;
declare namespace Message {
    var propTypes: {
        for: PropTypes.Requireable<NonNullable<string | (string | null | undefined)[] | null | undefined>>;
        /**
         * A function that maps an array of message strings
         * and returns a renderable string or ReactElement.
         *
         * ```jsx static
         * <Message>
         *  {errors => errors.join(', ')}
         * </Message>
         * ```
         */
        children: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * Map the passed in message object for the field to a string to display
         */
        extract: PropTypes.Requireable<(...args: any[]) => any>;
        filter: PropTypes.Requireable<(...args: any[]) => any>;
    };
}
export default Message;
