import * as React from 'react'; import { SubmissionMetadata, changeGroupVisibility, updateParamValue } from '../../Actions/QuestionActions'; import { ResetFormConfig } from '../../Components/Shared/ResetFormButton'; import { DispatchAction } from '../../Core/CommonTypes'; import { QuestionState, QuestionWithMappedParameters } from '../../StoreModules/QuestionStoreModule'; import { Parameter, ParameterGroup, RecordClass } from '../../Utils/WdkModel'; import '../../Views/Question/DefaultQuestionForm.scss'; declare type TextboxChangeHandler = (event: React.ChangeEvent) => void; declare type EventHandlers = { setGroupVisibility: typeof changeGroupVisibility; updateParamValue: typeof updateParamValue; }; export declare type Props = { state: QuestionState; dispatchAction: DispatchAction; eventHandlers: EventHandlers; parameterElements: Record; submissionMetadata: SubmissionMetadata; recordClass: RecordClass; submitButtonText?: string; validateForm?: boolean; renderParamGroup?: (group: ParameterGroup, formProps: Props) => JSX.Element; DescriptionComponent?: (props: { description?: string; }) => JSX.Element; DatasetsComponent?: () => JSX.Element; onSubmit?: (e: React.FormEvent) => boolean | void; resetFormConfig: ResetFormConfig; containerClassName?: string; }; export declare const useDefaultOnSubmit: (dispatchAction: DispatchAction, urlSegment: string, submissionMetadata: SubmissionMetadata, forWebServicesTutorial: boolean) => (event: React.FormEvent) => void; export default function DefaultQuestionForm(props: Props): JSX.Element; declare type QuestionHeaderProps = { headerText: string; showHeader: boolean; }; export declare function QuestionHeader(props: QuestionHeaderProps): JSX.Element; export declare function renderDefaultParamGroup(group: ParameterGroup, formProps: Props): JSX.Element; declare type DefaultGroupProps = { question: QuestionWithMappedParameters; group: ParameterGroup; uiState: any; onVisibilityChange: EventHandlers['setGroupVisibility']; parameterElements: Record; paramDependenciesUpdating: Record; }; export declare function DefaultGroup(props: DefaultGroupProps): JSX.Element; declare type GroupProps = { searchName: string; group: ParameterGroup; uiState: any; onVisibilityChange: EventHandlers['setGroupVisibility']; children: React.ReactChild; }; export declare function Group(props: GroupProps): JSX.Element; declare type ParameterListProps = { parameters: string[]; parameterMap: Record; parameterElements: Record; paramDependenciesUpdating: Record; }; export declare function ParameterList(props: ParameterListProps): JSX.Element; export declare function SubmitButton(props: { submissionMetadata: SubmissionMetadata; submitButtonText?: string; submitting: boolean; submissionDisabled?: boolean; }): JSX.Element; export declare const getSubmitButtonText: (submissionMetadata: SubmissionMetadata, submitButtonText?: string | undefined) => string; interface SearchNameInputProps { customName?: string; handleCustomNameChange: TextboxChangeHandler; } export declare function SearchNameInput(props: SearchNameInputProps): JSX.Element; interface WeightInputProps { weight?: string; handleWeightChange: TextboxChangeHandler; } export declare function WeightInput(props: WeightInputProps): JSX.Element; export declare function QuestionDescription(props: { description?: string; }): JSX.Element | null; interface SubmitSectionProps { className: string; customName?: string; searchName: string; paramValues: Record; weight?: string; handleCustomNameChange: TextboxChangeHandler; handleWeightChange: TextboxChangeHandler; submissionMetadata: SubmissionMetadata; submitting: boolean; submitButtonText?: string; submissionDisabled?: boolean; onClickWebservicesTutorialLink: (event: React.MouseEvent) => void; } export declare function SubmitSection(props: SubmitSectionProps): JSX.Element; export {}; //# sourceMappingURL=DefaultQuestionForm.d.ts.map