/**
 * FeedbackForm module.
 * @module @massds/mayflower-react/FeedbackForm
 */
import React from 'react';
export interface HiddenFieldsProps {
    /** The form id that the hidden input will be rendered within. */
    formId?: number;
}
export interface FeedbackFormProps {
    /** A ref object as created by React.createRef(). Will be applied to the form element. */
    formRef?: ((...args: unknown[]) => unknown) | {
        current?: any;
    };
    /** A function whose return value is displayed after a successful form submission. */
    successMessage(...args: unknown[]): unknown;
    /** The field id number for the yes textarea. */
    yesFeedbackId?: number;
    /** The field id number for the no textarea. */
    noFeedbackId?: number;
    /** The field id number for the referer. */
    refererId?: number;
    /** The id number for the form from FormStack. */
    formId?: number;
    /** The field id number for the yes/no radio buttons. */
    radioId?: number;
    /** A drupal node id number for the referer. */
    nodeId?: number;
    /** A function whose return value is rendered under the yes textarea. */
    yesDisclaimer?(...args: unknown[]): unknown;
    /** A function whose return value is rendered under the no textarea. */
    noDisclaimer?(...args: unknown[]): unknown;
}
export default class FeedbackForm extends React.Component<FeedbackFormProps> {
    static defaultProps: {
        formId: number;
        radioId: number;
        yesFeedbackId: number;
        noFeedbackId: number;
        refererId: number;
    };
    state: {
        yesText: string;
        noText: string;
        errorMessage: any;
        feedbackChoice: any;
        hasError: any[];
        success: boolean;
        formSubmitted: boolean;
    };
    yesRadio: any;
    yesTextArea: any;
    noRadio: any;
    noTextArea: any;
    submitButton: any;
    componentDidMount(): void;
    defaultDisclaimer: () => any;
    prefixLabel: (id: any) => string;
    prefixField: (id: any) => string;
    handleRadioChange: (e: any) => {
        feedbackChoice: boolean;
    } | {
        feedbackChoice?: undefined;
    };
    handleChange: (e: any) => void;
    removeError: (errors: any, idToRemove: any) => any;
    checkForErrors: () => any[];
    handleSubmit: (e: any) => void;
    render(): any;
}
