/** @module Survey Builder Question Types */ import { CaptchaDefinition } from './question-types/captcha/captcha'; import { ConstantSumDefinition } from './question-types/constantsum/constantsum'; import { DrillDownDefinition } from './question-types/drilldown/drilldown'; import { DrawDefinition } from './question-types/draw/draw'; import { HeatMapDefinition } from './question-types/heatmap/heatmap'; import { HighlightDefinition } from './question-types/highlight/highlight'; import { HotSpotDefinition } from './question-types/hotspot/hotspot'; import { MatrixSurveyBuilderDefinition } from './question-types/matrix/matrixSurveyBuilding'; import { MultipleChoiceSurveyBuilderDefinition } from './question-types/multipleChoice/multipleChoiceSurveyBuilding'; import { MetaDefinition } from './question-types/meta/meta'; import { NPSDefinition } from './question-types/nps/nps'; import { PickGroupRankDefinition } from './question-types/pickgrouprank/pickgrouprank'; import { RankOrderDefinition } from './question-types/rankorder/rankorder'; import { SideBySideDefinition } from './question-types/sidebyside/sidebyside'; import { SliderDefinition } from './question-types/slider/slider'; import { GraphicSliderDefinition } from './question-types/graphicslider/graphicslider'; import { TextEntrySurveyBuilderDefinition } from './question-types/textEntry/textEntrySurveyBuilding'; import { TextEntryFormSurveyBuilderDefinition } from './question-types/textEntryForm/textFormSurveyBuilding'; import { TimingDefinition } from './question-types/timing/timing'; import { TreeSelectDefinition } from './question-types/treeselect/treeselect'; import { TextGraphicDefinition } from './question-types/textgraphic/textgraphic'; import { FileUploadSurveyBuilderDefinition } from './question-types/fileupload/fileUploadSurveyBuilding'; import { RequestParamOverrides } from '../predefined-request'; /** * BaseQuestionDefinition defines fields that are available on all question types in the Survey Builder. * This data model is a subset of the question definition available via the Survey API */ export interface BaseQuestionDefinition { /** * The question text which is rendered above the question body */ readonly QuestionText: string; readonly QuestionDescription?: string; /** * A collection of configuration and metadata about the Question Type Plugin. Limit 10kb. */ readonly QuestionTypePluginProperties: { /** * The Question Type Name ID of the form @your-organization/your-question-type-name-here */ readonly ID: string; /** * The version of the question type which was used to produce this question definition in the Survey Builder. * Knowing the version which was used to create the data model is helpful for migrating / fixing data. */ readonly Version: string; /** * An object containing specialized configurations for this question type. */ readonly AdditionalProperties: CustomProperties; /** * Optional field for storing piped text for access within the plugin. * Key-value pair where the key is a label and the value is the piped text locator (and then later the resolved expression). */ readonly PipedTextFields?: PipedTextProperties; /** * Optional field for storing API account IDs for access within the plugin. * Key-value pair where the key is a label and the value is the account ID. */ readonly Credentials?: Record; /** * Optional field for storing a mapping of predefined request names to their parameter override values. * Key-value pair where the key is a predefined request name and the value is map of parameter name and override value. */ readonly RequestParamOverrides?: RequestParamOverrides; }; } export type PipedTextPropertiesDefinition = Record; export type PluginStateDataDefinition = Record; export type QuestionDefinition = MultipleChoiceSurveyBuilderDefinition | MatrixSurveyBuilderDefinition | TextEntrySurveyBuilderDefinition | TextEntryFormSurveyBuilderDefinition | FileUploadSurveyBuilderDefinition; /** * @hidden * These QuestionTypes models do not currently support customizing or extending in the Question Type Platform. */ export type UnimplementedQuestionDefinition = CaptchaDefinition | ConstantSumDefinition | TextGraphicDefinition | DrillDownDefinition | DrawDefinition | HeatMapDefinition | HighlightDefinition | HotSpotDefinition | MetaDefinition | NPSDefinition | PickGroupRankDefinition | RankOrderDefinition | SideBySideDefinition | SliderDefinition | GraphicSliderDefinition | TimingDefinition | TreeSelectDefinition; export type Dimensions = { w?: number; h?: number; }; export interface SurveyTakingBaseQuestion { id: string; display: string; options: { required?: true | 'request'; }; layout: { type?: string; }; questionTypePluginProperties: { ID: string; Version: string; BaseCssUrl: string; AdditionalProperties: CustomProperties; PipedTextFields?: PipedTextProperties; RequestParamOverrides?: RequestParamOverrides; Credentials?: Record; }; } //# sourceMappingURL=question.d.ts.map