///
import { Store } from 'react-redux';
import { ThunkDispatch } from 'redux-thunk';
import { AutoSuggestProps } from '../types/autoSuggestProps';
import { Questionnaire, QuestionnaireResponse, Attachment, QuestionnaireItem, QuestionnaireResponseItemAnswer, ValueSet } from '../types/fhir';
import { OrgenhetHierarki } from '../types/orgenhetHierarki';
import { TextMessage } from '../types/text-message';
import { UploadedFile } from '@helsenorge/file-upload/components/dropzone';
import { ValidationSummaryPlacement } from '@helsenorge/form/components/form/validationSummaryPlacement';
import { NewValueAction } from '../actions/newValue';
import { GlobalState } from '../reducers';
import { FormDefinition, FormData } from '../reducers/form';
import { IActionRequester } from '../util/actionRequester';
import { IQuestionnaireInspector } from '../util/questionnaireInspector';
import { Resources } from '../util/resources';
import { Path } from '../util/skjemautfyller-core';
export interface QueryStringsInterface {
MessageId: string;
ExternalId: string;
Query?: string;
ContentType?: string;
}
interface StateProps {
formDefinition?: FormDefinition | null;
formData?: FormData | null;
}
interface DispatchProps {
dispatch: ThunkDispatch;
mount: () => void;
updateSkjema: (questionnaire: Questionnaire, questionnaireResponse?: QuestionnaireResponse, language?: string, syncQuestionnaireResponse?: boolean) => void;
path: Array;
}
interface Props {
store?: Store<{}>;
authorized: boolean;
blockSubmit?: boolean;
onSave?: (questionnaireResponse: QuestionnaireResponse) => void;
onCancel?: () => void;
onSubmit: (questionnaireResponse: QuestionnaireResponse) => void;
loginButton: JSX.Element;
resources?: Resources;
pdf?: boolean;
promptLoginMessage?: () => void;
attachmentErrorMessage?: string;
attachmentMaxFileSize?: number;
attachmentValidTypes?: Array;
onRequestAttachmentLink?: (fileId: string) => string;
onOpenAttachment?: (fileId: string) => void;
onDeleteAttachment?: (fileId: string, onSuccess: () => void, onError: (errormessage: TextMessage | null) => void) => void;
uploadAttachment?: (files: File[], onSuccess: (uploadedFile: UploadedFile, attachment: Attachment) => void, onError: (errormessage: TextMessage | null) => void) => void;
questionnaire?: Questionnaire;
questionnaireResponse?: QuestionnaireResponse;
language?: string;
sticky?: boolean;
validateScriptInjection?: boolean;
validationSummaryPlacement?: ValidationSummaryPlacement;
onRequestHelpButton?: (item: QuestionnaireItem, itemHelp: QuestionnaireItem, helpType: string, helpText: string, opening: boolean) => JSX.Element;
onRequestHelpElement?: (item: QuestionnaireItem, itemHelp: QuestionnaireItem, helpType: string, helpText: string, opening: boolean) => JSX.Element;
onChange?: (item: QuestionnaireItem, answer: QuestionnaireResponseItemAnswer, actionRequester: IActionRequester, questionnaireInspector: IQuestionnaireInspector) => void;
onRenderMarkdown?: (item: QuestionnaireItem, markup: string) => string;
syncQuestionnaireResponse?: boolean;
fetchValueSet?: (searchString: string, item: QuestionnaireItem, successCallback: (valueSet: ValueSet) => void, errorCallback: (error: string) => void) => void;
autoSuggestProps?: AutoSuggestProps;
submitButtonDisabled?: boolean;
saveButtonDisabled?: boolean;
fetchReceivers?: (successCallback: (receivers: Array) => void, errorCallback: () => void) => void;
}
declare const SkjemautfyllerContainer: import("react-redux").ComponentClass & Props>;
export { SkjemautfyllerContainer };