/// <reference types="react" />
import PropTypes from 'prop-types';
import Autocomplete from '../../atom/autocomplete';
import Title from '../../atom/title';
import SelectMultiple from '../../molecule/select-multiple';
import { SelectOpponentsProps } from '../select-opponents/types';
import InputText from '../../atom/input-text';
import InputTextarea from '../../atom/input-textarea';
import Select from '../../atom/select';
import { IconEditorProps } from '../icon-editor/types';
declare const propTypes: {
    title: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
        title: PropTypes.Requireable<string>;
        subtitle: PropTypes.Requireable<string>;
        type: PropTypes.Requireable<string>;
        'data-name': PropTypes.Requireable<string>;
        titleSize: PropTypes.Requireable<string>;
        subtitleSize: PropTypes.Requireable<string>;
        icon: PropTypes.Requireable<PropTypes.InferProps<PropTypes.ValidationMap<any>>>;
        tag: PropTypes.Requireable<PropTypes.InferProps<{
            label: PropTypes.Requireable<string>;
            type: PropTypes.Requireable<string>;
            size: PropTypes.Requireable<string>;
            customStyle: PropTypes.Requireable<{
                [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
            }>;
            icon: PropTypes.Requireable<PropTypes.InferProps<{
                position: PropTypes.Requireable<string>;
                iconName?: import("react").Validator<string> | undefined;
                iconColor?: import("react").Validator<string | null | undefined> | undefined;
                backgroundColor?: import("react").Validator<string | null | undefined> | undefined;
                gradientBackground?: import("react").Validator<boolean | null | undefined> | undefined;
                borderRadius?: import("react").Validator<string | null | undefined> | undefined;
                preset?: import("react").Validator<string | null | undefined> | undefined;
                size?: import("react").Validator<import("../../atom/icon").IconSize | null | undefined> | undefined;
                customStyle?: import("react").Validator<import("react").CSSProperties | null | undefined> | undefined;
            }>>;
        }>>;
        button: PropTypes.Requireable<PropTypes.InferProps<{
            type: PropTypes.Requireable<string>;
            usage: PropTypes.Requireable<string>;
            label: PropTypes.Requireable<string>;
            content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            'aria-label': PropTypes.Requireable<string>;
            tooltipText: PropTypes.Requireable<string>;
            tooltipPlacement: PropTypes.Requireable<string>;
            'data-name': PropTypes.Requireable<string>;
            'data-testid': PropTypes.Requireable<string>;
            icon: PropTypes.Requireable<PropTypes.InferProps<{
                position: PropTypes.Requireable<string>;
                type: PropTypes.Requireable<string>;
                faIcon: PropTypes.Requireable<PropTypes.InferProps<{
                    name: PropTypes.Validator<string>;
                    color: PropTypes.Requireable<string>;
                    backgroundColor: PropTypes.Requireable<string>;
                    size: PropTypes.Requireable<number>;
                    customStyle: PropTypes.Requireable<{
                        [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
                    }>;
                }>>;
            }>>;
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            link: PropTypes.Requireable<PropTypes.InferProps<{
                href: PropTypes.Requireable<string>;
                download: PropTypes.Requireable<boolean>;
                target: PropTypes.Requireable<string>;
            }>>;
            hoverBackgroundColor: PropTypes.Requireable<string>;
            hoverColor: PropTypes.Requireable<string>;
            disabled: PropTypes.Requireable<boolean>;
            className: PropTypes.Requireable<string>;
            customStyle: PropTypes.Requireable<{
                [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
            }>;
        }>>;
        required: PropTypes.Requireable<boolean>;
    }>>>;
    field: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
        title: PropTypes.Requireable<string>;
        placeholder: PropTypes.Requireable<string>;
        description: PropTypes.Requireable<string>;
        hint: PropTypes.Requireable<string>;
        options: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
            selected: PropTypes.Validator<boolean>;
            name: PropTypes.Validator<string>;
            value: PropTypes.Requireable<string>;
        }>>[]>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        onError: PropTypes.Requireable<(...args: any[]) => any>;
        multiple: PropTypes.Requireable<boolean>;
        modified: PropTypes.Requireable<boolean>;
        disabled: PropTypes.Requireable<boolean>;
        error: PropTypes.Requireable<string>;
        theme: PropTypes.Requireable<string>;
    }> | PropTypes.InferProps<{
        title: PropTypes.Requireable<string>;
        placeholder: PropTypes.Requireable<string>;
        value: PropTypes.Requireable<string>;
        description: PropTypes.Requireable<string>;
        required: PropTypes.Requireable<boolean>;
        modified: PropTypes.Requireable<boolean>;
        error: PropTypes.Requireable<boolean>;
        errorMessage: PropTypes.Requireable<string>;
        suggestions: PropTypes.Requireable<(PropTypes.InferProps<{
            name: PropTypes.Requireable<string>;
            value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
        }> | null | undefined)[]>;
        theme: PropTypes.Requireable<string>;
        onInput: PropTypes.Requireable<(...args: any[]) => any>;
        onFetch: PropTypes.Requireable<(...args: any[]) => any>;
        onClear: PropTypes.Requireable<(...args: any[]) => any>;
        onBlur: PropTypes.Requireable<(...args: any[]) => any>;
        onSuggestionSelected: PropTypes.Requireable<(...args: any[]) => any>;
    }> | PropTypes.InferProps<{
        iconPreview: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
            title: PropTypes.Requireable<string>;
            icon: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
                name: PropTypes.Validator<string>;
                color: PropTypes.Requireable<string>;
            }>>>;
        }>>>;
        inputText: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
            autoFocus: PropTypes.Requireable<boolean>;
            title: PropTypes.Requireable<string>;
            placeholder: PropTypes.Requireable<string>;
            defaultValue: PropTypes.Requireable<string>;
            theme: PropTypes.Requireable<string>;
            disabled: PropTypes.Requireable<boolean>;
            value: PropTypes.Requireable<string>;
            hint: PropTypes.Requireable<string>;
            error: PropTypes.Requireable<string>;
            onChange: PropTypes.Requireable<(...args: any[]) => any>;
            description: PropTypes.Requireable<string>;
            modified: PropTypes.Requireable<boolean>;
            type: PropTypes.Requireable<string>;
            valid: PropTypes.Requireable<boolean>;
            'aria-label': PropTypes.Requireable<string>;
            'data-name': PropTypes.Requireable<string>;
            inputColor: PropTypes.Requireable<boolean>;
        }>>>;
        buttonLink: PropTypes.Requireable<PropTypes.InferProps<{
            type: PropTypes.Requireable<string>;
            usage: PropTypes.Requireable<string>;
            label: PropTypes.Requireable<string>;
            content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            'aria-label': PropTypes.Requireable<string>;
            tooltipText: PropTypes.Requireable<string>;
            tooltipPlacement: PropTypes.Requireable<string>;
            'data-name': PropTypes.Requireable<string>;
            'data-testid': PropTypes.Requireable<string>;
            icon: PropTypes.Requireable<PropTypes.InferProps<{
                position: PropTypes.Requireable<string>;
                type: PropTypes.Requireable<string>;
                faIcon: PropTypes.Requireable<PropTypes.InferProps<{
                    name: PropTypes.Validator<string>;
                    color: PropTypes.Requireable<string>;
                    backgroundColor: PropTypes.Requireable<string>;
                    size: PropTypes.Requireable<number>;
                    customStyle: PropTypes.Requireable<{
                        [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
                    }>;
                }>>;
            }>>;
            onClick: PropTypes.Requireable<(...args: any[]) => any>;
            link: PropTypes.Requireable<PropTypes.InferProps<{
                href: PropTypes.Requireable<string>;
                download: PropTypes.Requireable<boolean>;
                target: PropTypes.Requireable<string>;
            }>>;
            hoverBackgroundColor: PropTypes.Requireable<string>;
            hoverColor: PropTypes.Requireable<string>;
            disabled: PropTypes.Requireable<boolean>;
            className: PropTypes.Requireable<string>;
            customStyle: PropTypes.Requireable<{
                [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
            }>;
        }>>;
    }> | PropTypes.InferProps<{
        size: PropTypes.Requireable<string>;
        autoFocus: PropTypes.Requireable<boolean>;
        title: PropTypes.Requireable<string>;
        placeholder: PropTypes.Requireable<string>;
        defaultValue: PropTypes.Requireable<string>;
        theme: PropTypes.Requireable<string>;
        disabled: PropTypes.Requireable<boolean>;
        value: PropTypes.Requireable<string>;
        hint: PropTypes.Requireable<string>;
        error: PropTypes.Requireable<string>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        description: PropTypes.Requireable<string>;
        modified: PropTypes.Requireable<boolean>;
        type: PropTypes.Requireable<string>;
        valid: PropTypes.Requireable<boolean>;
        'aria-label': PropTypes.Requireable<string>;
        'data-name': PropTypes.Requireable<string>;
        inputColor: PropTypes.Requireable<boolean>;
    }> | PropTypes.InferProps<{
        size: PropTypes.Requireable<string>;
        placeholder: PropTypes.Requireable<string>;
        title: PropTypes.Requireable<string>;
        name: PropTypes.Requireable<string>;
        theme: PropTypes.Requireable<string>;
        disabled: PropTypes.Requireable<boolean>;
        value: PropTypes.Requireable<string>;
        hint: PropTypes.Requireable<string>;
        error: PropTypes.Requireable<string>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        description: PropTypes.Requireable<string>;
        modified: PropTypes.Requireable<boolean>;
        valid: PropTypes.Requireable<boolean>;
    }> | PropTypes.InferProps<{
        size: PropTypes.Requireable<string>;
        title: PropTypes.Requireable<string>;
        name: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        borderClassName: PropTypes.Requireable<string>;
        disabled: PropTypes.Requireable<boolean>;
        multiple: PropTypes.Requireable<boolean>;
        description: PropTypes.Requireable<string>;
        required: PropTypes.Requireable<boolean>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        theme: PropTypes.Requireable<string>;
        options: PropTypes.Requireable<(PropTypes.InferProps<{
            name: PropTypes.Validator<string>;
            value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
            selected: PropTypes.Requireable<boolean>;
            validOption: PropTypes.Requireable<boolean>;
        }> | null | undefined)[]>;
        optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
            label: PropTypes.Validator<string>;
            options: PropTypes.Requireable<(PropTypes.InferProps<{
                name: PropTypes.Validator<string>;
                value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
                selected: PropTypes.Requireable<boolean>;
                validOption: PropTypes.Requireable<boolean>;
            }> | null | undefined)[]>;
        }> | null | undefined)[]>;
        modified: PropTypes.Requireable<boolean>;
        error: PropTypes.Requireable<boolean>;
        'aria-label': PropTypes.Requireable<string>;
        'aria-labelledby': PropTypes.Requireable<string>;
    }> | PropTypes.InferProps<{
        items: PropTypes.Requireable<(PropTypes.InferProps<{
            checkboxWithTitle: PropTypes.Requireable<PropTypes.InferProps<{
                title: PropTypes.Requireable<string>;
                name: PropTypes.Requireable<string>;
                checked: PropTypes.Requireable<boolean>;
                onChange: PropTypes.Requireable<(...args: any[]) => any>;
                'aria-label': PropTypes.Requireable<string>;
                'data-name': PropTypes.Requireable<string>;
                icon: PropTypes.Requireable<PropTypes.InferProps<{
                    iconName: PropTypes.Requireable<string>;
                    iconColor: PropTypes.Requireable<string>;
                    preset: PropTypes.Requireable<string>;
                }>>;
                customStyle: PropTypes.Requireable<{
                    [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
                }>;
            }>>;
            sectionTitle: PropTypes.Requireable<PropTypes.InferProps<{
                removeMargin: PropTypes.Requireable<boolean>;
                title: PropTypes.Requireable<string>;
                subtitle: PropTypes.Requireable<string>;
                type: PropTypes.Requireable<string>;
                'data-name': PropTypes.Requireable<string>;
                titleSize: PropTypes.Requireable<string>;
                subtitleSize: PropTypes.Requireable<string>;
                icon: PropTypes.Requireable<PropTypes.InferProps<PropTypes.ValidationMap<any>>>;
                tag: PropTypes.Requireable<PropTypes.InferProps<{
                    label: PropTypes.Requireable<string>;
                    type: PropTypes.Requireable<string>;
                    size: PropTypes.Requireable<string>;
                    customStyle: PropTypes.Requireable<{
                        [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
                    }>;
                    icon: PropTypes.Requireable<PropTypes.InferProps<{
                        position: PropTypes.Requireable<string>;
                        iconName?: import("react").Validator<string> | undefined;
                        iconColor?: import("react").Validator<string | null | undefined> | undefined;
                        backgroundColor?: import("react").Validator<string | null | undefined> | undefined;
                        gradientBackground?: import("react").Validator<boolean | null | undefined> | undefined;
                        borderRadius?: import("react").Validator<string | null | undefined> | undefined;
                        preset?: import("react").Validator<string | null | undefined> | undefined;
                        size?: import("react").Validator<import("../../atom/icon").IconSize | null | undefined> | undefined;
                        customStyle?: import("react").Validator<import("react").CSSProperties | null | undefined> | undefined;
                    }>>;
                }>>;
                button: PropTypes.Requireable<PropTypes.InferProps<{
                    type: PropTypes.Requireable<string>;
                    usage: PropTypes.Requireable<string>;
                    label: PropTypes.Requireable<string>;
                    content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
                    'aria-label': PropTypes.Requireable<string>;
                    tooltipText: PropTypes.Requireable<string>;
                    tooltipPlacement: PropTypes.Requireable<string>;
                    'data-name': PropTypes.Requireable<string>;
                    'data-testid': PropTypes.Requireable<string>;
                    icon: PropTypes.Requireable<PropTypes.InferProps<{
                        position: PropTypes.Requireable<string>;
                        type: PropTypes.Requireable<string>;
                        faIcon: PropTypes.Requireable<PropTypes.InferProps<{
                            name: PropTypes.Validator<string>;
                            color: PropTypes.Requireable<string>;
                            backgroundColor: PropTypes.Requireable<string>;
                            size: PropTypes.Requireable<number>;
                            customStyle: PropTypes.Requireable<{
                                [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
                            }>;
                        }>>;
                    }>>;
                    onClick: PropTypes.Requireable<(...args: any[]) => any>;
                    link: PropTypes.Requireable<PropTypes.InferProps<{
                        href: PropTypes.Requireable<string>;
                        download: PropTypes.Requireable<boolean>;
                        target: PropTypes.Requireable<string>;
                    }>>;
                    hoverBackgroundColor: PropTypes.Requireable<string>;
                    hoverColor: PropTypes.Requireable<string>;
                    disabled: PropTypes.Requireable<boolean>;
                    className: PropTypes.Requireable<string>;
                    customStyle: PropTypes.Requireable<{
                        [x: string]: NonNullable<string | number | null | undefined> | null | undefined;
                    }>;
                }>>;
                required: PropTypes.Requireable<boolean>;
            }>>;
            child: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
                childType: PropTypes.Requireable<string>;
                inputText: PropTypes.Requireable<PropTypes.InferProps<{
                    theme: PropTypes.Requireable<string>;
                    size: PropTypes.Requireable<string>;
                    autoFocus: PropTypes.Requireable<boolean>;
                    title: PropTypes.Requireable<string>;
                    placeholder: PropTypes.Requireable<string>;
                    defaultValue: PropTypes.Requireable<string>;
                    disabled: PropTypes.Requireable<boolean>;
                    value: PropTypes.Requireable<string>;
                    hint: PropTypes.Requireable<string>;
                    error: PropTypes.Requireable<string>;
                    onChange: PropTypes.Requireable<(...args: any[]) => any>;
                    description: PropTypes.Requireable<string>;
                    modified: PropTypes.Requireable<boolean>;
                    type: PropTypes.Requireable<string>;
                    valid: PropTypes.Requireable<boolean>;
                    'aria-label': PropTypes.Requireable<string>;
                    'data-name': PropTypes.Requireable<string>;
                    inputColor: PropTypes.Requireable<boolean>;
                }>>;
                title: PropTypes.Requireable<string>;
                'aria-label': PropTypes.Requireable<string>;
                'data-name': PropTypes.Requireable<string>;
            }> | PropTypes.InferProps<{
                childType: PropTypes.Requireable<string>;
                list: PropTypes.Requireable<(PropTypes.InferProps<{
                    disableHoverTooltip: PropTypes.Requireable<boolean>;
                    name: PropTypes.Requireable<string>;
                    onChange: PropTypes.Requireable<(...args: any[]) => any>;
                    onReset: PropTypes.Requireable<(...args: any[]) => any>;
                    filesTypes: (props: any, propName: any, componentName: any) => Error | null;
                    error: PropTypes.Requireable<string>;
                    buttonAriaLabel: PropTypes.Requireable<string>;
                    errorButtonLabel: PropTypes.Requireable<string>;
                    labelLink: PropTypes.Requireable<string>;
                    hrefLink: PropTypes.Requireable<string>;
                    title: PropTypes.Requireable<string>;
                    description: PropTypes.Requireable<string>;
                    uploadLabel: PropTypes.Requireable<string>;
                    previewLabel: PropTypes.Requireable<string>;
                    previewContent: PropTypes.Requireable<PropTypes.InferProps<{
                        type: PropTypes.Requireable<string>;
                        src: PropTypes.Requireable<string>;
                        label: PropTypes.Requireable<string>;
                    }>>;
                    loading: PropTypes.Requireable<boolean>;
                    modified: PropTypes.Requireable<boolean>;
                    disabled: PropTypes.Requireable<boolean>;
                    children: PropTypes.Requireable<(...args: any[]) => any>;
                    pdfButtonLabel: PropTypes.Requireable<string>;
                    pdfButtonAriaLabel: PropTypes.Requireable<string>;
                    multiple: PropTypes.Requireable<boolean>;
                }> | null | undefined)[]>;
                'data-name': PropTypes.Requireable<string>;
            }> | PropTypes.InferProps<{
                childType: PropTypes.Requireable<string>;
                disableHoverTooltip: PropTypes.Requireable<boolean>;
                name: PropTypes.Requireable<string>;
                onChange: PropTypes.Requireable<(...args: any[]) => any>;
                onReset: PropTypes.Requireable<(...args: any[]) => any>;
                filesTypes: (props: any, propName: any, componentName: any) => Error | null;
                error: PropTypes.Requireable<string>;
                buttonAriaLabel: PropTypes.Requireable<string>;
                errorButtonLabel: PropTypes.Requireable<string>;
                labelLink: PropTypes.Requireable<string>;
                hrefLink: PropTypes.Requireable<string>;
                title: PropTypes.Requireable<string>;
                description: PropTypes.Requireable<string>;
                uploadLabel: PropTypes.Requireable<string>;
                previewLabel: PropTypes.Requireable<string>;
                previewContent: PropTypes.Requireable<PropTypes.InferProps<{
                    type: PropTypes.Requireable<string>;
                    src: PropTypes.Requireable<string>;
                    label: PropTypes.Requireable<string>;
                }>>;
                loading: PropTypes.Requireable<boolean>;
                modified: PropTypes.Requireable<boolean>;
                disabled: PropTypes.Requireable<boolean>;
                children: PropTypes.Requireable<(...args: any[]) => any>;
                pdfButtonLabel: PropTypes.Requireable<string>;
                pdfButtonAriaLabel: PropTypes.Requireable<string>;
                multiple: PropTypes.Requireable<boolean>;
            }> | PropTypes.InferProps<{
                childType: PropTypes.Requireable<string>;
                title: PropTypes.Requireable<string>;
                placeholder: PropTypes.Requireable<string>;
                description: PropTypes.Requireable<string>;
                hint: PropTypes.Requireable<string>;
                options: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
                    selected: PropTypes.Validator<boolean>;
                    name: PropTypes.Validator<string>;
                    value: PropTypes.Requireable<string>;
                }>>[]>;
                onChange: PropTypes.Requireable<(...args: any[]) => any>;
                onError: PropTypes.Requireable<(...args: any[]) => any>;
                multiple: PropTypes.Requireable<boolean>;
                modified: PropTypes.Requireable<boolean>;
                disabled: PropTypes.Requireable<boolean>;
                error: PropTypes.Requireable<string>;
                theme: PropTypes.Requireable<string>;
            }> | null | undefined>>;
        }> | null | undefined)[]>;
    }> | null | undefined>>;
    childType: PropTypes.Validator<string>;
};
export declare type ValidInputSize = 'default' | 'medium' | 'large';
export declare type TitleAndInputProps = {
    title: React.ComponentProps<typeof Title>;
    field: React.ComponentProps<typeof Autocomplete> | IconEditorProps | (React.ComponentProps<typeof InputText> & {
        size?: ValidInputSize;
    }) | (React.ComponentProps<typeof InputTextarea> & {
        size?: ValidInputSize;
    }) | (React.ComponentProps<typeof Select> & {
        size?: ValidInputSize;
    }) | React.ComponentProps<typeof SelectMultiple> | SelectOpponentsProps;
    childType: string;
};
export default propTypes;
//# sourceMappingURL=types.d.ts.map