@gmb/bitmark-parser-generator
Version:
A bitmark parser and generator using Peggy.js
7,906 lines • 283 kB
text/typescript
import * as _ncoderz_superenum from '@ncoderz/superenum';
import { EnumType } from '@ncoderz/superenum';
import { PathLike } from 'node:fs';
declare const BitType: Readonly<{
_error: "_error";
_comment: "_comment";
_standard: "_standard";
advertising: "advertising";
advertisingAdvertorial: "advertising-advertorial";
advertisingAdvertorialPage: "advertising-advertorial-page";
advertisingCallToAction: "advertising-call-to-action";
advertisingCallToActionMeeting: "advertising-call-to-action-meeting";
advertisingBanner: "advertising-banner";
advertisingSkyscraper: "advertising-skyscraper";
advertisingRectangle: "advertising-rectangle";
advertisingFullPage: "advertising-full-page";
advertisingHalfPage: "advertising-half-page";
advertisingQuarterPage: "advertising-quarter-page";
advertisingClassifiedPage: "advertising-classified-page";
advertisingLandscape: "advertising-landscape";
advertisingPortrait: "advertising-portrait";
aiChat: "ai-chat";
aiEditor: "ai-editor";
aiPrompt: "ai-prompt";
aiTutor: "ai-tutor";
aiWbt: "ai-wbt";
anchor: "anchor";
appAiPrompt: "app-ai-prompt";
appBitmarkFromEditor: "app-bitmark-from-editor";
appBitmarkFromJavascript: "app-bitmark-from-javascript";
appCodeCell: "app-code-cell";
appCodeEditor: "app-code-editor";
appCodeIde: "app-code-ide";
appCreateBitsFromImage: "app-create-bits-from-image";
appFlashcards: "app-flashcards";
appFlashcardsLearn: "app-flashcards-learn";
appFlashcardsQuiz: "app-flashcards-quiz";
appGetScreenshot: "app-get-screenshot";
appLink: "app-link";
article: "article";
articleAi: "article-ai";
articleAlt: "article-alt";
articleAttachment: "article-attachment";
articleAuthor: "article-author";
articleEmbed: "article-embed";
articleLink: "article-link";
articleResponsive: "article-responsive";
articleResponsiveAlt: "article-responsive-alt";
assignment: "assignment";
assignmentList: "assignment-list";
audio: "audio";
audioEmbed: "audio-embed";
audioLink: "audio-link";
audioTranscript: "audio-transcript";
author: "author";
authorContentBitGenerator: "author-content-bit-generator";
bitAlias: "bit-alias";
bitBookEnding: "bit-book-ending";
bitBookSummary: "bit-book-summary";
bitmarkExample: "bitmark-example";
blogArticle: "blog-article";
book: "book";
bookAcknowledgements: "book-acknowledgements";
bookAddendum: "book-addendum";
bookAfterword: "book-afterword";
bookAlias: "book-alias";
bookAppendix: "book-appendix";
bookArticle: "book-article";
bookAuthor: "book-author";
bookAutherBio: "book-author-bio";
bookBibliography: "book-bibliography";
bookClose: "book-close";
bookComingSoon: "book-coming-soon";
bookConclusion: "book-conclusion";
bookCopyright: "book-copyright";
bookCopyrightPermissions: "book-copyright-permissions";
bookCover: "book-cover";
bookDedication: "book-dedication";
bookDiff: "book-diff";
bookEnd: "book-end";
bookEndnotes: "book-endnotes";
bookEpigraph: "book-epigraph";
bookEpilogue: "book-epilogue";
bookForword: "book-foreword";
bookFrontispiece: "book-frontispiece";
bookImprint: "book-imprint";
bookIncitingIncident: "book-inciting-incident";
bookIntroduction: "book-introduction";
bookLink: "book-link";
bookLinkNext: "book-link-next";
bookLinkPrev: "book-link-prev";
bookListOfContributors: "book-list-of-contributors";
bookNotes: "book-notes";
bookPostscript: "book-postscript";
bookPreface: "book-preface";
bookPrologue: "book-prologue";
bookReadMore: "book-read-more";
bookReference: "book-reference";
bookReferenceList: "book-reference-list";
bookRequestForABookReview: "book-request-for-a-book-review";
bookSummary: "book-summary";
bookTeaser: "book-teaser";
bookTitle: "book-title";
botActionAnnounce: "bot-action-announce";
botActionRatingNumber: "bot-action-rating-number";
botActionRemind: "bot-action-remind";
botActionResponse: "bot-action-response";
botActionSave: "bot-action-save";
botActionSend: "bot-action-send";
botActionTrueFalse: "bot-action-true-false";
botInterview: "bot-interview";
browserImage: "browser-image";
bug: "bug";
bugAlt: "bug-alt";
bugCollapsible: "bug-collapsible";
buttonCopyText: "button-copy-text";
callToAction: "call-to-action";
callToActionBookNow: "call-to-action-book-now";
callToActionContact: "call-to-action-contact";
callToActionCreateAccount: "call-to-action-create-account";
callToActionDownload: "call-to-action-download";
callToActionGetNow: "call-to-action-get-now";
callToActionGetOffer: "call-to-action-get-offer";
callToActionJoin: "call-to-action-join";
callToActionLearnMore: "call-to-action-learn-more";
callToActionMail: "call-to-action-mail";
callToActionSeeMore: "call-to-action-see-more";
callToActionShopNow: "call-to-action-shop-now";
callToActionStartNow: "call-to-action-start-now";
callToActionSubscribe: "call-to-action-subscribe";
callToActionWatch: "call-to-action-watch";
card1: "card-1";
chapter: "chapter";
chapterSubjectMatter: "chapter-subject-matter";
chat: "chat";
checklist: "checklist";
cloze: "cloze";
clozeAndMultipleChoiceText: "cloze-and-multiple-choice-text";
clozeInstructionGrouped: "cloze-instruction-grouped";
clozeList: "cloze-list";
clozeSeveral: "cloze-several";
clozeSolutionGrouped: "cloze-solution-grouped";
coachAudioTranscript: "coach-audio-transcript";
coachCallToActionChecklist: "coach-call-to-action-checklist";
coachCallToActionCloze: "coach-call-to-action-cloze";
coachCallToActionClozeAndMultipleChoiceText: "coach-call-to-action-cloze-and-multiple-choice-text";
coachCallToActionEssay: "coach-call-to-action-essay";
coachCallToActionMultipleChoiceText: "coach-call-to-action-multiple-choice-text";
coachHomeRules: "coach-home-rules";
coachSelfReflectionCloze: "coach-self-reflection-cloze";
coachSelfReflectionEssay: "coach-self-reflection-essay";
coachSelfReflectionMultipleChoice: "coach-self-reflection-multiple-choice";
coachSelfReflectionMultipleChoice1: "coach-self-reflection-multiple-choice-1";
coachSelfReflectionMultipleChoiceText: "coach-self-reflection-multiple-choice-text";
coachSelfReflectionMultipleResponse: "coach-self-reflection-multiple-response";
coachSelfReflectionMultipleResponse1: "coach-self-reflection-multiple-response-1";
coachSelfReflectionRating: "coach-self-reflection-rating";
coachVideoTranscript: "coach-video-transcript";
code: "code";
codeRuntime: "code-runtime";
collapsible: "collapsible";
conclusion: "conclusion";
conclusionAlt: "conclusion-alt";
consoleLog: "console-log";
container: "container";
containerAccordionTabs: "container-accordion-tabs";
containerBits2: "container-bits-2";
containerCards: "container-cards";
containerCarousel: "container-carousel";
containerCookRecipe: "container-cook-recipe";
containerFolder: "container-folder";
containerFolderAll: "container-folder-all";
containerGallery: "container-gallery";
containerGrid: "container-grid";
containerGroup: "container-group";
containerNewsArticle: "container-news-article";
containerNowrap: "container-nowrap";
containerNowrapStretch: "container-nowrap-stretch";
containerPreview: "container-preview";
containerScroller: "container-scroller";
containerSlides: "container-slides";
containerStack: "container-stack";
containerTabs: "container-tabs";
containerWrap: "container-wrap";
conversationLeft1: "conversation-left-1";
conversationLeft1Scream: "conversation-left-1-scream";
conversationLeft1Thought: "conversation-left-1-thought";
conversationRight1: "conversation-right-1";
conversationRight1Scream: "conversation-right-1-scream";
conversationRight1Thought: "conversation-right-1-thought";
clozeAndMultipleChoiceTextConversationLeft1: "cloze-and-multiple-choice-text-conversation-left-1";
clozeAndMultipleChoiceTextConversationLeft1Scream: "cloze-and-multiple-choice-text-conversation-left-1-scream";
clozeAndMultipleChoiceTextConversationLeft1Thought: "cloze-and-multiple-choice-text-conversation-left-1-thought";
clozeAndMultipleChoiceTextConversationRight1: "cloze-and-multiple-choice-text-conversation-right-1";
clozeAndMultipleChoiceTextConversationRight1Scream: "cloze-and-multiple-choice-text-conversation-right-1-scream";
clozeAndMultipleChoiceTextConversationRight1Thought: "cloze-and-multiple-choice-text-conversation-right-1-thought";
cookArrangement: "cook-arrangement";
cookIngredients: "cook-ingredients";
cookInsert: "cook-insert";
cookNoteOnQuantity: "cook-note-on-quantity";
cookPersonalRecommendation: "cook-personal-recommendation";
cookPlate: "cook-plate";
cookPracticeAdvise: "cook-practice-advise";
cookPreparation: "cook-preparation";
cookRecommendation: "cook-recommendation";
cookRemark: "cook-remark";
cookSideDish: "cook-side-dish";
cookSideDrink: "cook-side-drink";
cookStep: "cook-step";
cookTimer: "cook-timer";
cookVariation: "cook-variation";
correction: "correction";
danger: "danger";
dangerAlt: "danger-alt";
dangerCollapsible: "danger-collapsible";
definitionList: "definition-list";
definitionTerm: "definition-term";
deleted: "deleted";
details: "details";
details1: "details-1";
detailsImage: "details-image";
diff: "diff";
document: "document";
documentDownload: "document-download";
documentEmbed: "document-embed";
documentLink: "document-link";
documentUpload: "document-upload";
editorial: "editorial";
editorNote: "editor-note";
essay: "essay";
example: "example";
exampleAlt: "example-alt";
exampleCollapsible: "example-collapsible";
exampleList: "example-list";
extractorAiChat: "extractor-ai-chat";
extractorBlock: "extractor-block";
extractorConfiguration: "extractor-configuration";
extractorImage: "extractor-image";
extractorImageCollapsible: "extractor-image-collapsible";
extractorInformation: "extractor-information";
extractorPage: "extractor-page";
extractorPageCollapsible: "extractor-page-collapsible";
extractorPageFooter: "extractor-page-footer";
extractorPageFooterCollapsible: "extractor-page-footer-collapsible";
extractorPageHeader: "extractor-page-header";
extractorPageHeaderCollapsible: "extractor-page-header-collapsible";
extractorPageNumber: "extractor-page-number";
extractorPageNumberCollapsible: "extractor-page-number-collapsible";
extractorPageWithBlocks: "extractor-page-with-blocks";
extractorPageWithBlocksCollapsible: "extractor-page-with-blocks-collapsible";
extractorRepeatedText: "extractor-repeated-text";
featured: "featured";
feedback: "feedback";
figure: "figure";
flashcard: "flashcard";
flashcard1: "flashcard-1";
focusImage: "focus-image";
footNote: "foot-note";
formula: "formula";
gapText: "gap-text";
gapTextInstructionGrouped: "gap-text-instruction-grouped";
glossaryTerm: "glossary-term";
groupBorn: "group-born";
groupDied: "group-died";
handInAudio: "hand-in-audio";
handInContact: "hand-in-contact";
handInDocument: "hand-in-document";
handInFeedbackExpert: "hand-in-feedback-expert";
handInFeedbackSelf: "hand-in-feedback-self";
handInFile: "hand-in-file";
handInLocation: "hand-in-location";
handInPhoto: "hand-in-photo";
handInScan: "hand-in-scan";
handInSubmit: "hand-in-submit";
handInVideo: "hand-in-video";
handInVoice: "hand-in-voice";
help: "help";
helpAlt: "help-alt";
highlightText: "highlight-text";
hint: "hint";
hintAlt: "hint-alt";
hintCollapsible: "hint-collapsible";
image: "image";
imageBanner: "image-banner";
imageFigure: "image-figure";
imageFigureAlt: "image-figure-alt";
imageLandscape: "image-landscape";
imageLink: "image-link";
imageMood: "image-mood";
imageOnDevice: "image-on-device";
imagePortrait: "image-portrait";
imagePrototype: "image-prototype";
imageResponsive: "image-responsive";
imageScreenshot: "image-screenshot";
imageSeparator: "image-separator";
imageSeparatorAlt: "image-separator-alt";
imagesLogoGrave: "images-logo-grave";
imageStyled: "image-styled";
imageSuperWide: "image-super-wide";
imageZoom: "image-zoom";
indexTerm: "index-term";
info: "info";
infoAlt: "info-alt";
infoCollapsible: "info-collapsible";
internalLink: "internal-link";
interview: "interview";
interviewInstructionGrouped: "interview-instruction-grouped";
langAudioScript: "lang-audio-script";
langEnablingLanguageSkills: "lang-enabling-language-skills";
langEnglishAroundWorld: "lang-english-around-world";
langExtraActivity: "lang-extra-activity";
langGoodToKnow: "lang-good-to-know";
langHomework: "lang-homework";
langLearningGoal: "lang-learning-goal";
langLearningOutcomes: "lang-learning-outcomes";
langLearningStrategy: "lang-learning-strategy";
langLevelDown: "lang-level-down";
langLevelUp: "lang-level-up";
langLifeSkillIcon: "lang-life-skill-icon";
langLifeSkills: "lang-life-skills";
langLikeALocal: "lang-like-a-local";
langMaterial: "lang-material";
langTeacherNote: "lang-teacher-note";
langTeacherPronunciation: "lang-teacher-pronunciation";
langUsefulPhrases: "lang-useful-phrases";
langVideoScript: "lang-video-script";
langVocabulary: "lang-vocabulary";
learningDocumentationFeedback: "learning-documentation-feedback";
learningPathBook: "learning-path-book";
learningPathBotTraining: "learning-path-bot-training";
learningPathClassroomEvent: "learning-path-classroom-event";
learningPathClassroomTraining: "learning-path-classroom-training";
learningPathClosing: "learning-path-closing";
learningPathExternalLink: "learning-path-external-link";
learningPathFeedback: "learning-path-feedback";
learningPathLearningGoal: "learning-path-learning-goal";
learningPathLti: "learning-path-lti";
learningPathSign: "learning-path-sign";
learningPathStep: "learning-path-step";
learningPathVideoCall: "learning-path-video-call";
leAssignment: "le-assignment";
leClassroomEvent: "le-classroom-event";
leCompletion: "le-completion";
leExternalLink: "le-external-link";
leFinishingTask: "le-finishing-task";
leFollowUpTask: "le-follow-up-task";
leMultiDayEvent: "le-multi-day-event";
legend: "legend";
leDocumentDownload: "le-document-download";
leLearningObjectives: "le-learning-objectives";
leLearningStep: "le-learning-step";
leListenAudioEmbed: "le-listen-audio-embed";
lePreparationTask: "le-preparation-task";
leRead: "le-read";
leReadBook: "le-read-book";
leTask: "le-task";
leTodo: "le-todo";
leVideoCall: "le-video-call";
leWatchVideoEmbed: "le-watch-video-embed";
lifeSkillSticker: "life-skill-sticker";
list: "list";
listItem: "list-item";
mark: "mark";
match: "match";
matchAll: "match-all";
matchAllReverse: "match-all-reverse";
matchAudio: "match-audio";
matchMatrix: "match-matrix";
matchPicture: "match-picture";
matchReverse: "match-reverse";
matchSolutionGrouped: "match-solution-grouped";
message: "message";
metalevelExplanation: "metalevel-explanation";
metaSearchDefaultTerms: "meta-search-default-terms";
metaSearchDefaultTopics: "meta-search-default-topics";
milestone: "milestone";
module: "module";
moduleProduct: "module-product";
multipleChoice: "multiple-choice";
multipleChoice1: "multiple-choice-1";
multipleChoiceText: "multiple-choice-text";
multipleResponse: "multiple-response";
multipleResponse1: "multiple-response-1";
newspaperArticle: "newspaper-article";
note: "note";
noteAi: "note-ai";
noteAlt: "note-alt";
notebookArticle: "notebook-article";
noteCollapsible: "note-collapsible";
output: "output";
page: "page";
pageAcademy: "page-academy";
pageArticle: "page-article";
pageArticleAlt: "page-article-alt";
pageArticleResponsive: "page-article-responsive";
pageBanner: "page-banner";
pageBuyButton: "page-buy-button";
pageBuyButtonAlt: "page-buy-button-alt";
pageBuyButtonPromotion: "page-buy-button-promotion";
pageCategory: "page-category";
pageCollapsible: "page-collapsible";
pageContainer: "page-container";
pageContainerFolder: "page-container-folder";
pageContainerGroup: "page-container-group";
pageContainerNowrap: "page-container-nowrap";
pageContainerNowrapStretch: "page-container-nowrap-stretch";
pageContainerWrap: "page-container-wrap";
pageCoverImage: "page-cover-image";
pageFooter: "page-footer";
pageHero: "page-hero";
pageOpenBook: "page-open-book";
pageOpenBookList: "page-open-book-list";
pagePerson: "page-person";
pageProduct: "page-product";
pageProductList: "page-product-list";
pageProductVideo: "page-product-video";
pageProductVideoList: "page-product-video-list";
pagePromotion: "page-promotion";
pageSectionFolder: "page-section-folder";
pageShopInShop: "page-shop-in-shop";
pageSpecial: "page-special";
pageSubpage: "page-subpage";
pageSubscribe: "page-subscribe";
parameters: "parameters";
photo: "photo";
platformPath: "platform-path";
preparationNote: "preparation-note";
pronunciationTable: "pronunciation-table";
prototypeImages: "prototype-images";
qAndA: "q-and-a";
qAndACard: "q-and-a-card";
question1: "question-1";
quote: "quote";
rating: "rating";
recipe: "recipe";
recordAudio: "record-audio";
recordVideo: "record-video";
releaseNote: "release-note";
releaseNotesSummary: "release-notes-summary";
remark: "remark";
remarkAlt: "remark-alt";
remarkCollapsible: "remark-collapsible";
reviewApprovedNote: "review-approved-note";
reviewAuthorNote: "review-author-note";
reviewCustomerNote: "review-customer-note";
reviewNote: "review-note";
reviewRequestForReviewNote: "review-request-for-review-note";
reviewReviewerNote: "review-reviewer-note";
sampleSolution: "sample-solution";
scorm: "scorm";
screenshot: "screenshot";
selfAssessment: "self-assessment";
separator: "separator";
separatorAlt: "separator-alt";
sequence: "sequence";
sideNote: "side-note";
sideNoteCollapsible: "side-note-collapsible";
smartStandardArticleNonNormative: "smart-standard-article-non-normative";
smartStandardArticleNonNormativeCollapsible: "smart-standard-article-non-normative-collapsible";
smartStandardArticleNormative: "smart-standard-article-normative";
smartStandardArticleNormativeCollapsible: "smart-standard-article-normative-collapsible";
smartStandardExampleNonNormative: "smart-standard-example-non-normative";
smartStandardExampleNonNormativeCollapsible: "smart-standard-example-non-normative-collapsible";
smartStandardExampleNormative: "smart-standard-example-normative";
smartStandardExampleNormativeCollapsible: "smart-standard-example-normative-collapsible";
smartStandardFormula: "smart-standard-formula";
smartStandardFormulaNonNormative: "smart-standard-formula-non-normative";
smartStandardFormulaNormative: "smart-standard-formula-normative";
smartStandardImageFigureNonNormative: "smart-standard-image-figure-non-normative";
smartStandardImageFigureNonNormativeCollapsible: "smart-standard-image-figure-non-normative-collapsible";
smartStandardImageFigureNormative: "smart-standard-image-figure-normative";
smartStandardImageFigureNormativeCollapsible: "smart-standard-image-figure-normative-collapsible";
smartStandardLegend: "smart-standard-legend";
smartStandardLegendNonNormative: "smart-standard-legend-non-normative";
smartStandardLegendNormative: "smart-standard-legend-normative";
smartStandardList: "smart-standard-list";
smartStandardListCollapsible: "smart-standard-list-collapsible";
smartStandardListItem: "smart-standard-list-item";
smartStandardListItemCollapsible: "smart-standard-list-item-collapsible";
smartStandardNoteNonNormative: "smart-standard-note-non-normative";
smartStandardNoteNonNormativeCollapsible: "smart-standard-note-non-normative-collapsible";
smartStandardNoteNormative: "smart-standard-note-normative";
smartStandardNoteNormativeCollapsible: "smart-standard-note-normative-collapsible";
smartStandardRemarkLegend: "smart-standard-remark-legend";
smartStandardRemarkLegendNonNormative: "smart-standard-remark-legend-non-normative";
smartStandardRemarkLegendNormative: "smart-standard-remark-legend-normative";
smartStandardRemarkFormula: "smart-standard-remark-formula";
smartStandardRemarkFormulaNonNormative: "smart-standard-remark-formula-non-normative";
smartStandardRemarkFormulaNormative: "smart-standard-remark-formula-normative";
smartStandardRemarkNonNormative: "smart-standard-remark-non-normative";
smartStandardRemarkNonNormativeCollapsible: "smart-standard-remark-non-normative-collapsible";
smartStandardRemarkNormative: "smart-standard-remark-normative";
smartStandardRemarkNormativeCollapsible: "smart-standard-remark-normative-collapsible";
smartStandardRemarkTableImageNonNormative: "smart-standard-remark-table-image-non-normative";
smartStandardRemarkTableImageNonNormativeCollapsible: "smart-standard-remark-table-image-non-normative-collapsible";
smartStandardRemarkTableImageNormative: "smart-standard-remark-table-image-normative";
smartStandardRemarkTableImageNormativeCollapsible: "smart-standard-remark-table-image-normative-collapsible";
smartStandardRemarkTableNonNormative: "smart-standard-remark-table-non-normative";
smartStandardRemarkTableNonNormativeCollapsible: "smart-standard-remark-table-non-normative-collapsible";
smartStandardRemarkTableNormative: "smart-standard-remark-table-normative";
smartStandardRemarkTableNormativeCollapsible: "smart-standard-remark-table-normative-collapsible";
smartStandardTableImageNonNormative: "smart-standard-table-image-non-normative";
smartStandardTableImageNonNormativeCollapsible: "smart-standard-table-image-non-normative-collapsible";
smartStandardTableImageNormative: "smart-standard-table-image-normative";
smartStandardTableImageNormativeCollapsible: "smart-standard-table-image-normative-collapsible";
smartStandardTableNonNormative: "smart-standard-table-non-normative";
smartStandardTableNonNormativeCollapsible: "smart-standard-table-non-normative-collapsible";
smartStandardTableNormative: "smart-standard-table-normative";
smartStandardTableNormativeCollapsible: "smart-standard-table-normative-collapsible";
standardArticleNonNormative: "standard-article-non-normative";
standardArticleNormative: "standard-article-normative";
standardExampleNonNormative: "standard-example-non-normative";
standardExampleNormative: "standard-example-normative";
standardImageFigureNonNormative: "standard-image-figure-non-normative";
standardImageFigureNormative: "standard-image-figure-normative";
standardList: "standard-list";
standardListItem: "standard-list-item";
standardNoteNonNormative: "standard-note-non-normative";
standardNoteNormative: "standard-note-normative";
standardRemarkNonNormative: "standard-remark-non-normative";
standardRemarkNormative: "standard-remark-normative";
standardRemarkTableImageNonNormative: "standard-remark-table-image-non-normative";
standardRemarkTableImageNormative: "standard-remark-table-image-normative";
standardRemarkTableNonNormative: "standard-remark-table-non-normative";
standardRemarkTableNormative: "standard-remark-table-normative";
standardTableImageNonNormative: "standard-table-image-non-normative";
standardTableImageNormative: "standard-table-image-normative";
standardTableNonNormative: "standard-table-non-normative";
standardTableNormative: "standard-table-normative";
statement: "statement";
stdout: "stdout";
step: "step";
stepImageScreenshot: "step-image-screenshot";
stepImageScreenshotWithPointer: "step-image-screenshot-with-pointer";
sticker: "sticker";
stickyNote: "sticky-note";
stillImageFilm: "still-image-film";
stillImageFilmEmbed: "still-image-film-embed";
stillImageFilmLink: "still-image-film-link";
summary: "summary";
summaryAi: "summary-ai";
survey: "survey";
survey1: "survey-1";
surveyAnonymous: "survey-anonymous";
surveyAnonymous1: "survey-anonymous-1";
surveyMatrix: "survey-matrix";
surveyMatrixMe: "survey-matrix-me";
surveyRating: "survey-rating";
surveyRatingDisplay: "survey-rating-display";
surveyRatingOnce: "survey-rating-once";
table: "table";
tableAlt: "table-alt";
tableImage: "table-image";
tableImageAlt: "table-image-alt";
takePicture: "take-picture";
toc: "toc";
tocChapter: "toc-chapter";
tocInline: "toc-inline";
tocResource: "toc-resource";
tocContent: "toc-content";
trueFalse: "true-false";
trueFalse1: "true-false-1";
vendorAmcharts5Chart: "vendor-amcharts-5-chart";
vendorDatadogDashboardEmbed: "vendor-datadog-dashboard-embed";
vendorFormbricksEmbed: "vendor-formbricks-embed";
vendorFormbricksLink: "vendor-formbricks-link";
vendorFormbricksEmbedAnonymous: "vendor-formbricks-embed-anonymous";
vendorFormbricksLinkAnonymous: "vendor-formbricks-link-anonymous";
vendorHighchartsChart: "vendor-highcharts-chart";
vendorIframelyCard: "vendor-iframely-card";
vendorIframelyEmbed: "vendor-iframely-embed";
vendorIframelyPreview: "vendor-iframely-preview";
vendorIframelyPreviewMini: "vendor-iframely-preview-mini";
vendorJupyterCellCode: "vendor-jupyter-cell-code";
vendorJupyterCellMarkdown: "vendor-jupyter-cell-markdown";
vendorJupyterCellRaw: "vendor-jupyter-cell-raw";
vendorJupyterIpynb: "vendor-jupyter-ipynb";
vendorJupyterOutput: "vendor-jupyter-output";
vendorPadletEmbed: "vendor-padlet-embed";
vendorStripePricingTable: "vendor-stripe-pricing-table";
vendorStripePricingTableExternal: "vendor-stripe-pricing-table-external";
video: "video";
videoEmbed: "video-embed";
videoEmbedLandscape: "video-embed-landscape";
videoEmbedPortrait: "video-embed-portrait";
videoLandscape: "video-landscape";
videoLink: "video-link";
videoLinkLandscape: "video-link-landscape";
videoLinkPortrait: "video-link-portrait";
videoPortrait: "video-portrait";
videoTranscript: "video-transcript";
warning: "warning";
warningAlt: "warning-alt";
warningCollapsible: "warning-collapsible";
websiteLink: "website-link";
workbookArticle: "workbook-article";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
_error: "_error";
_comment: "_comment";
_standard: "_standard";
advertising: "advertising";
advertisingAdvertorial: "advertising-advertorial";
advertisingAdvertorialPage: "advertising-advertorial-page";
advertisingCallToAction: "advertising-call-to-action";
advertisingCallToActionMeeting: "advertising-call-to-action-meeting";
advertisingBanner: "advertising-banner";
advertisingSkyscraper: "advertising-skyscraper";
advertisingRectangle: "advertising-rectangle";
advertisingFullPage: "advertising-full-page";
advertisingHalfPage: "advertising-half-page";
advertisingQuarterPage: "advertising-quarter-page";
advertisingClassifiedPage: "advertising-classified-page";
advertisingLandscape: "advertising-landscape";
advertisingPortrait: "advertising-portrait";
aiChat: "ai-chat";
aiEditor: "ai-editor";
aiPrompt: "ai-prompt";
aiTutor: "ai-tutor";
aiWbt: "ai-wbt";
anchor: "anchor";
appAiPrompt: "app-ai-prompt";
appBitmarkFromEditor: "app-bitmark-from-editor";
appBitmarkFromJavascript: "app-bitmark-from-javascript";
appCodeCell: "app-code-cell";
appCodeEditor: "app-code-editor";
appCodeIde: "app-code-ide";
appCreateBitsFromImage: "app-create-bits-from-image";
appFlashcards: "app-flashcards";
appFlashcardsLearn: "app-flashcards-learn";
appFlashcardsQuiz: "app-flashcards-quiz";
appGetScreenshot: "app-get-screenshot";
appLink: "app-link";
article: "article";
articleAi: "article-ai";
articleAlt: "article-alt";
articleAttachment: "article-attachment";
articleAuthor: "article-author";
articleEmbed: "article-embed";
articleLink: "article-link";
articleResponsive: "article-responsive";
articleResponsiveAlt: "article-responsive-alt";
assignment: "assignment";
assignmentList: "assignment-list";
audio: "audio";
audioEmbed: "audio-embed";
audioLink: "audio-link";
audioTranscript: "audio-transcript";
author: "author";
authorContentBitGenerator: "author-content-bit-generator";
bitAlias: "bit-alias";
bitBookEnding: "bit-book-ending";
bitBookSummary: "bit-book-summary";
bitmarkExample: "bitmark-example";
blogArticle: "blog-article";
book: "book";
bookAcknowledgements: "book-acknowledgements";
bookAddendum: "book-addendum";
bookAfterword: "book-afterword";
bookAlias: "book-alias";
bookAppendix: "book-appendix";
bookArticle: "book-article";
bookAuthor: "book-author";
bookAutherBio: "book-author-bio";
bookBibliography: "book-bibliography";
bookClose: "book-close";
bookComingSoon: "book-coming-soon";
bookConclusion: "book-conclusion";
bookCopyright: "book-copyright";
bookCopyrightPermissions: "book-copyright-permissions";
bookCover: "book-cover";
bookDedication: "book-dedication";
bookDiff: "book-diff";
bookEnd: "book-end";
bookEndnotes: "book-endnotes";
bookEpigraph: "book-epigraph";
bookEpilogue: "book-epilogue";
bookForword: "book-foreword";
bookFrontispiece: "book-frontispiece";
bookImprint: "book-imprint";
bookIncitingIncident: "book-inciting-incident";
bookIntroduction: "book-introduction";
bookLink: "book-link";
bookLinkNext: "book-link-next";
bookLinkPrev: "book-link-prev";
bookListOfContributors: "book-list-of-contributors";
bookNotes: "book-notes";
bookPostscript: "book-postscript";
bookPreface: "book-preface";
bookPrologue: "book-prologue";
bookReadMore: "book-read-more";
bookReference: "book-reference";
bookReferenceList: "book-reference-list";
bookRequestForABookReview: "book-request-for-a-book-review";
bookSummary: "book-summary";
bookTeaser: "book-teaser";
bookTitle: "book-title";
botActionAnnounce: "bot-action-announce";
botActionRatingNumber: "bot-action-rating-number";
botActionRemind: "bot-action-remind";
botActionResponse: "bot-action-response";
botActionSave: "bot-action-save";
botActionSend: "bot-action-send";
botActionTrueFalse: "bot-action-true-false";
botInterview: "bot-interview";
browserImage: "browser-image";
bug: "bug";
bugAlt: "bug-alt";
bugCollapsible: "bug-collapsible";
buttonCopyText: "button-copy-text";
callToAction: "call-to-action";
callToActionBookNow: "call-to-action-book-now";
callToActionContact: "call-to-action-contact";
callToActionCreateAccount: "call-to-action-create-account";
callToActionDownload: "call-to-action-download";
callToActionGetNow: "call-to-action-get-now";
callToActionGetOffer: "call-to-action-get-offer";
callToActionJoin: "call-to-action-join";
callToActionLearnMore: "call-to-action-learn-more";
callToActionMail: "call-to-action-mail";
callToActionSeeMore: "call-to-action-see-more";
callToActionShopNow: "call-to-action-shop-now";
callToActionStartNow: "call-to-action-start-now";
callToActionSubscribe: "call-to-action-subscribe";
callToActionWatch: "call-to-action-watch";
card1: "card-1";
chapter: "chapter";
chapterSubjectMatter: "chapter-subject-matter";
chat: "chat";
checklist: "checklist";
cloze: "cloze";
clozeAndMultipleChoiceText: "cloze-and-multiple-choice-text";
clozeInstructionGrouped: "cloze-instruction-grouped";
clozeList: "cloze-list";
clozeSeveral: "cloze-several";
clozeSolutionGrouped: "cloze-solution-grouped";
coachAudioTranscript: "coach-audio-transcript";
coachCallToActionChecklist: "coach-call-to-action-checklist";
coachCallToActionCloze: "coach-call-to-action-cloze";
coachCallToActionClozeAndMultipleChoiceText: "coach-call-to-action-cloze-and-multiple-choice-text";
coachCallToActionEssay: "coach-call-to-action-essay";
coachCallToActionMultipleChoiceText: "coach-call-to-action-multiple-choice-text";
coachHomeRules: "coach-home-rules";
coachSelfReflectionCloze: "coach-self-reflection-cloze";
coachSelfReflectionEssay: "coach-self-reflection-essay";
coachSelfReflectionMultipleChoice: "coach-self-reflection-multiple-choice";
coachSelfReflectionMultipleChoice1: "coach-self-reflection-multiple-choice-1";
coachSelfReflectionMultipleChoiceText: "coach-self-reflection-multiple-choice-text";
coachSelfReflectionMultipleResponse: "coach-self-reflection-multiple-response";
coachSelfReflectionMultipleResponse1: "coach-self-reflection-multiple-response-1";
coachSelfReflectionRating: "coach-self-reflection-rating";
coachVideoTranscript: "coach-video-transcript";
code: "code";
codeRuntime: "code-runtime";
collapsible: "collapsible";
conclusion: "conclusion";
conclusionAlt: "conclusion-alt";
consoleLog: "console-log";
container: "container";
containerAccordionTabs: "container-accordion-tabs";
containerBits2: "container-bits-2";
containerCards: "container-cards";
containerCarousel: "container-carousel";
containerCookRecipe: "container-cook-recipe";
containerFolder: "container-folder";
containerFolderAll: "container-folder-all";
containerGallery: "container-gallery";
containerGrid: "container-grid";
containerGroup: "container-group";
containerNewsArticle: "container-news-article";
containerNowrap: "container-nowrap";
containerNowrapStretch: "container-nowrap-stretch";
containerPreview: "container-preview";
containerScroller: "container-scroller";
containerSlides: "container-slides";
containerStack: "container-stack";
containerTabs: "container-tabs";
containerWrap: "container-wrap";
conversationLeft1: "conversation-left-1";
conversationLeft1Scream: "conversation-left-1-scream";
conversationLeft1Thought: "conversation-left-1-thought";
conversationRight1: "conversation-right-1";
conversationRight1Scream: "conversation-right-1-scream";
conversationRight1Thought: "conversation-right-1-thought";
clozeAndMultipleChoiceTextConversationLeft1: "cloze-and-multiple-choice-text-conversation-left-1";
clozeAndMultipleChoiceTextConversationLeft1Scream: "cloze-and-multiple-choice-text-conversation-left-1-scream";
clozeAndMultipleChoiceTextConversationLeft1Thought: "cloze-and-multiple-choice-text-conversation-left-1-thought";
clozeAndMultipleChoiceTextConversationRight1: "cloze-and-multiple-choice-text-conversation-right-1";
clozeAndMultipleChoiceTextConversationRight1Scream: "cloze-and-multiple-choice-text-conversation-right-1-scream";
clozeAndMultipleChoiceTextConversationRight1Thought: "cloze-and-multiple-choice-text-conversation-right-1-thought";
cookArrangement: "cook-arrangement";
cookIngredients: "cook-ingredients";
cookInsert: "cook-insert";
cookNoteOnQuantity: "cook-note-on-quantity";
cookPersonalRecommendation: "cook-personal-recommendation";
cookPlate: "cook-plate";
cookPracticeAdvise: "cook-practice-advise";
cookPreparation: "cook-preparation";
cookRecommendation: "cook-recommendation";
cookRemark: "cook-remark";
cookSideDish: "cook-side-dish";
cookSideDrink: "cook-side-drink";
cookStep: "cook-step";
cookTimer: "cook-timer";
cookVariation: "cook-variation";
correction: "correction";
danger: "danger";
dangerAlt: "danger-alt";
dangerCollapsible: "danger-collapsible";
definitionList: "definition-list";
definitionTerm: "definition-term";
deleted: "deleted";
details: "details";
details1: "details-1";
detailsImage: "details-image";
diff: "diff";
document: "document";
documentDownload: "document-download";
documentEmbed: "document-embed";
documentLink: "document-link";
documentUpload: "document-upload";
editorial: "editorial";
editorNote: "editor-note";
essay: "essay";
example: "example";
exampleAlt: "example-alt";
exampleCollapsible: "example-collapsible";
exampleList: "example-list";
extractorAiChat: "extractor-ai-chat";
extractorBlock: "extractor-block";
extractorConfiguration: "extractor-configuration";
extractorImage: "extractor-image";
extractorImageCollapsible: "extractor-image-collapsible";
extractorInformation: "extractor-information";
extractorPage: "extractor-page";
extractorPageCollapsible: "extractor-page-collapsible";
extractorPageFooter: "extractor-page-footer";
extractorPageFooterCollapsible: "extractor-page-footer-collapsible";
extractorPageHeader: "extractor-page-header";
extractorPageHeaderCollapsible: "extractor-page-header-collapsible";
extractorPageNumber: "extractor-page-number";
extractorPageNumberCollapsible: "extractor-page-number-collapsible";
extractorPageWithBlocks: "extractor-page-with-blocks";
extractorPageWithBlocksCollapsible: "extractor-page-with-blocks-collapsible";
extractorRepeatedText: "extractor-repeated-text";
featured: "featured";
feedback: "feedback";
figure: "figure";
flashcard: "flashcard";
flashcard1: "flashcard-1";
focusImage: "focus-image";
footNote: "foot-note";
formula: "formula";
gapText: "gap-text";
gapTextInstructionGrouped: "gap-text-instruction-grouped";
glossaryTerm: "glossary-term";
groupBorn: "group-born";
groupDied: "group-died";
handInAudio: "hand-in-audio";
handInContact: "hand-in-contact";
handInDocument: "hand-in-document";
handInFeedbackExpert: "hand-in-feedback-expert";
handInFeedbackSelf: "hand-in-feedback-self";
handInFile: "hand-in-file";
handInLocation: "hand-in-location";
handInPhoto: "hand-in-photo";
handInScan: "hand-in-scan";
handInSubmit: "hand-in-submit";
handInVideo: "hand-in-video";
handInVoice: "hand-in-voice";
help: "help";
helpAlt: "help-alt";
highlightText: "highlight-text";
hint: "hint";
hintAlt: "hint-alt";
hintCollapsible: "hint-collapsible";
image: "image";
imageBanner: "image-banner";
imageFigure: "image-figure";
imageFigureAlt: "image-figure-alt";
imageLandscape: "image-landscape";
imageLink: "image-link";
imageMood: "image-mood";
imageOnDevice: "image-on-device";
imagePortrait: "image-portrait";
imagePrototype: "image-prototype";
imageResponsive: "image-responsive";
imageScreenshot: "image-screenshot";
imageSeparator: "image-separator";
imageSeparatorAlt: "image-separator-alt";
imagesLogoGrave: "images-logo-grave";
imageStyled: "image-styled";
imageSuperWide: "image-super-wide";
imageZoom: "image-zoom";
indexTerm: "index-term";
info: "info";
infoAlt: "info-alt";
infoCollapsible: "info-collapsible";
internalLink: "internal-link";
interview: "interview";
interviewInstructionGrouped: "interview-instruction-grouped";
langAudioScript: "lang-audio-script";
langEnablingLanguageSkills: "lang-enabling-language-skills";
langEnglishAroundWorld: "lang-english-around-world";
langExtraActivity: "lang-extra-activity";
langGoodToKnow: "lang-good-to-know";
langHomework: "lang-homework";
langLearningGoal: "lang-learning-goal";
langLearningOutcomes: "lang-learning-outcomes";
langLearningStrategy: "lang-learning-strategy";
langLevelDown: "lang-level-down";
langLevelUp: "lang-level-up";
langLifeSkillIcon: "lang-life-skill-icon";
langLifeSkills: "lang-life-skills";
langLikeALocal: "lang-like-a-local";
langMaterial: "lang-material";
langTeacherNote: "lang-teacher-note";
langTeacherPronunciation: "lang-teacher-pronunciation";
langUsefulPhrases: "lang-useful-phrases";
langVideoScript: "lang-video-script";
langVocabulary: "lang-vocabulary";
learningDocumentationFeedback: "learning-documentation-feedback";
learningPathBook: "learning-path-book";
learningPathBotTraining: "learning-path-bot-training";
learningPathClassroomEvent: "learning-path-classroom-event";
learningPathClassroomTraining: "learning-path-classroom-training";
learningPathClosing: "learning-path-closing";
learningPathExternalLink: "learning-path-external-link";
learningPathFeedback: "learning-path-feedback";
learningPathLearningGoal: "learning-path-learning-goal";
learningPathLti: "learning-path-lti";
learningPathSign: "learning-path-sign";
learningPathStep: "learning-path-step";
learningPathVideoCall: "learning-path-video-call";
leAssignment: "le-assignment";
leClassroomEvent: "le-classroom-event";
leCompletion: "le-completion";
leExternalLink: "le-external-link";
leFinishingTask: "le-finishing-task";
leFollowUpTask: "le-follow-up-task";
leMultiDayEvent: "le-multi-day-event";
legend: "legend";
leDocumentDownload: "le-document-download";
leLearningObjectives: "le-learning-objectives";
leLearningStep: "le-learning-step";
leListenAudioEmbed: "le-listen-audio-embed";
lePreparationTask: "le-preparation-task";
leRead: "le-read";
leReadBook: "le-read-book";
leTask: "le-task";
leTodo: "le-todo";
leVideoCall: "le-video-call";
leWatchVideoEmbed: "le-watch-video-embed";
lifeSkillSticker: "life-skill-sticker";
list: "list";
listItem: "list-item";
mark: "mark";
match: "match";
matchAll: "match-all";
matchAllReverse: "match-all-reverse";
matchAudio: "match-audio";
matchMatrix: "match-matrix";
matchPicture: "match-picture";
matchReverse: "match-reverse";
matchSolutionGrouped: "match-solution-grouped";
message: "message";
metalevelExplanation: "metalevel-explanation";
metaSearchDefaultTerms: "meta-search-default-terms";
metaSearchDefaultTopics: "meta-search-default-topics";
milestone: "milestone";
module: "module";
moduleProduct: "module-product";
multipleChoice: "multiple-choice";
multipleChoice1: "multiple-choice-1";
multipleChoiceText: "multiple-choice-text";
multipleResponse: "multiple-response";
multipleResponse1: "multiple-response-1";
newspaperArticle: "newspaper-article";
note: "note";
noteAi: "note-ai";
noteAlt: "note-alt";
notebookArticle: "notebook-article";
noteCollapsible: "note-collapsible";
output: "output";
page: "page";
pageAcademy: "page-academy";
pageArticle: "page-article";
pageArticleAlt: "page-article-alt";
pageArticleResponsive: "page-article-responsive";
pageBanner: "page-banner";
pageBuyButton: "page-buy-button";
pageBuyButtonAlt: "page-buy-button-alt";
pageBuyButtonPromotion: "page-buy-button-promotion";
pageCategory: "page-category";
pageCollapsible: "page-collapsible";
pageContainer: "page-container";
pageContainerFolder: "page-container-folder";
pageContainerGroup: "page-container-group";
pageContainerNowrap: "page-container-nowrap";
pageContainerNowrapStretch: "page-container-nowrap-stretch";
pageContainerWrap: "page-container-wrap";
pageCoverImage: "page-cover-image";
pageFooter: "page-footer";
pageHero: "page-hero";
pageOpenBook: "page-open-book";
pageOpenBookList: "page-open-book-list";
pagePerson: "page-person";
pageProduct: "page-product";
pageProductList: "page-product-list";
pageProductVideo: "page-product-video";
pageProductVideoList: "page-product-video-list";
pagePromotion: "page-promotion";
pageSectionFolder: "page-section-folder";
pageShopInShop: "page-shop-in-shop";
pageSpecial: "page-special";
pageSubpage: "page-subpage";
pageSubscribe: "page-subscribe";
parameters: "parameters";
photo: "photo";
platformPath: "platform-path";
preparationNote: "preparation-note";
pronunciationTable: "pronunciation-table";
prototypeImages: "prototype-images";
qAndA: "q-and-a";
qAndACard: "q-and-a-card";
question1: "question-1";
quote: "quote";
rating: "rating";
recipe: "recipe";
recordAudio: "record-audio";
recordVideo: "record-video";
releaseNote: "release-note";
releaseNotesSummary: "release-notes-summary";
remark: "remark";
remarkAlt: "remark-alt";
remarkCollapsible: "remark-collapsible";
reviewApprovedNote: "review-approved-note";
reviewAuthorNote: "review-author-note";
reviewCustomerNote: "review-customer-note";
reviewNote: "review-note";
reviewRequestForReviewNote: "review-request-for-review-note";
reviewReviewerNote: "review-reviewer-note";
sampleSolution: "sample-solution";
scorm: "scorm";
screenshot: "screenshot";
selfAssessment: "self-assessment";
separator: "separator";
separatorAlt: "separator-alt";
sequence: "sequence";
sideNote: "side-note";
sideNoteCollapsible: "side-note-collapsible";
smartStandardArticleNonNormative: "smart-standard-article-non-normative";
smartStandardArticleNonNormativeCollapsible: "smart-standard-article-non-normative-collapsible";
smartStandardArticleNormative: "smart-standard-article-normative";
smartStandardArticleNormativeCollapsible: "smart-standard-article-normative-collapsible";
smartStandardExampleNonNormative: "smart-standard-example-non-normative";
smartStandardExampleNonNormativeCollapsible: "smart-standard-example-non-normative-collapsible";
smartStandardExampleNormative: "smart-standard-example-normative";
smartStandardExampleNormativeCollapsible: "smart-standard-example-normative-collapsible";
smartStandardFormula: "smart-standard-formula";
smartStandardFormulaNonNormative: "smart-standard-formula-non-normative";
smartStandardFormulaNormative: "smart-standard-formula-normative";
smartStandardImageFigureNonNormative: "smart-standard-image-figure-non-normative";
smartStandardImageFigureNonNormativeCollapsible: "smart-standard-image-figure-non-normative-collapsible";
smartStandardImageFigureNormative: "smart-standard-image-figure-normative";
smartStandardImageFigureNormativeCollapsible: "smart-standard-image-figure-normative-collapsible";
smartStandardLegend: "smart-standard-legend";
smartStandardLegendNonNormative: "smart-standard-legend-non-normative";
smartStandardLegendNormative: "smart-standard-legend-normative";
smartStandardList: "smart-standard-list";
smartStandardListCollapsible: "smart-standard-list-collapsible";
smartStandardListItem: "smart-standard-list-item";
smartStandardListItemCollapsible: "smart-standard-list-item-collapsible";
smartStandardNoteNonNormative: "smart-standard-note-non-normative";
smartStandardNoteNonNormativeCollapsible: "smart-standard-note-non-normative-collapsible";
smartStandardNoteNormative: "smart-standard-note-normative";
smartStandardNoteNormativeCollapsible: "smart-standard-note-normative-collapsible";
smartStandardRemarkLegend: "smart-standard-remark-legend";
smartStandardRemarkLegendNonNormative: "smart-standard-remark-legend-non-normative";
smartStandardRemarkLegendNormative: "smart-standard-remark-legend-normative";
smartStandardRemarkFormula: "smart-standard-remark-formula";
smartStandardRemarkFormulaNonNormative: "smart-standard-remark-formula-non-normative";
smartStandardRemarkFormulaNormative: "smart-standard-remark-formula-normative";
smartStandardRemarkNonNormative: "smart-standard-remark-non-normative";
smartStandardRemarkNonNormativeCollapsible: "smart-standard-remark-non-normative-collapsible";
smartStandardRemarkNormative: "smart-standard-remark-normative";
smartStandardRemarkNormativeCollapsible: "smart-standard-remark-normative-collapsible";
smartStandardRemarkTableImageNonNormative: "smart-standard-remark-table-image-non-normative";
smartStandardRemarkTableImageNonNormativeCollapsible: "smart-standard-remark-table-image-non-normative-collapsible";
smartStandardRemarkTableImageNormative: "smart-standard-remark-table-image-normative";
smartStandardRemarkTableImageNormativeCollapsible: "smart-standard-remark-table-image-normative-collapsible";
smartStandardRemarkTableNonNormative: "smart-standard-remark-table-non-normative";
smartStandardRemarkTableNonNormativeCollapsible: "smart-standard-remark-table-non-normative-collapsible";
smartStandardRemarkTableNormative: "smart-standard-remark-table-normative";
smartStandardRemarkTableNormativeCollapsible: "smart-standard-remark-table-normative-collapsible";
smartStandardTableImageNonNormative: "smart-standard-table-image-non-normative";
smartStandardTableImageNonNormativeCollapsible: "smart-standard-table-image-non-normative-collapsible";
smartStandardTableImageNormative: "smart-standard-table-image-normative";
smartStandardTableImageNormativeCollapsible: "smart-standard-table-image-normative-collapsible";
smartStandardTableNonNormative: "smart-standard-table-non-normative";
smartStandardTableNonNormativeCollapsible: "smart-standard-table-non-normative-collapsible";
smartStandardTableNormative: "smart-standard-table-normative";
smartStandardTableNormativeCollapsible: "smart-standard-table-normative-collapsible";
standardArticleNonNormative: "standard-article-non-normative";
standardArticleNormative: "standard-article-normative";
standardExampleNonNormative: "standard-example-non-normative";
standardExampleNormative: "standard-example-normative";
standardImageFigureNonNormative: "standard-image-figure-non-normative";
standardImageFigureNormative: "standard-image-figure-normative";
standardList: "standard-list";
standardListItem: "standard-list-item";
standardNoteNonNormative: "standard-note-non-normative";
standardNoteNormative: "standard-note-normative";
standardRemarkNonNormative: "standard-remark-non-normative";
standardRemarkNormative: "standard-remark-normative";
standardRemarkTableImageNonNormative: "standard-remark-table-image-non-normative";
standardRemarkTableImageNormative: "standard-remark-table-image-normative";
standardRemarkTableNonNormative: "standard-remark-table-non-normative";
standardRemarkTableNormative: "standard-remark-table-normative";
standardTableImageNonNormative: "standard-table-image-non-normative";
standardTableImageNormative: "standard-table-image-normative";
standardTableNonNormative: "standard-table-non-normative";
standardTableNormative: "standard-table-normative";
statement: "statement";
stdout: "stdout";
step: "step";
stepImageScreenshot: "step-image-screenshot";
stepImageScreenshotWithPointer: "step-image-screenshot-with-pointer";
sticker: "sticker";
stickyNote: "sticky-note";
stillImageFilm: "still-image-film";
stillImageFilmEmbed: "still-image-film-embed";
stillImageFilmLink: "still-image-film-link";
summary: "summary";
summaryAi: "summary-ai";
survey: "survey";
survey1: "survey-1";
surveyAnonymous: "survey-anonymous";
surveyAnonymous1: "survey-anonymous-1";
surveyMatrix: "survey-matrix";
surveyMatrixMe: "survey-matrix-me";
surveyRating: "survey-rating";
surveyRatingDisplay: "survey-rating-display";
surveyRatingOnce: "survey-rating-once";
table: "table";
tableAlt: "table-alt";
tableImage: "table-image";
tableImageAlt: "table-image-alt";
takePicture: "take-picture";
toc: "toc";
tocChapter: "toc-chapter";
tocInline: "toc-inline";
tocResource: "toc-resource";
tocContent: "toc-content";
trueFalse: "true-false";
trueFalse1: "true-false-1";
vendorAmcharts5Chart: "vendor-amcharts-5-chart";
vendorDatadogDashboardEmbed: "vendor-datadog-dashboard-embed";
vendorFormbricksEmbed: "vendor-formbricks-embed";
vendorFormbricksLink: "vendor-formbricks-link";
vendorFormbricksEmbedAnonymous: "vendor-formbricks-embed-anonymous";
vendorFormbricksLinkAnonymous: "vendor-formbricks-link-anonymous";
vendorHighchartsChart: "vendor-highcharts-chart";
vendorIframelyCard: "vendor-iframely-card";
vendorIframelyEmbed: "vendor-iframely-embed";
vendorIframelyPreview: "vendor-iframely-preview";
vendorIframelyPreviewMini: "vendor-iframely-preview-mini";
vendorJupyterCellCode: "vendor-jupyter-cell-code";
vendorJupyterCellMarkdown: "vendor-jupyter-cell-markdown";
vendorJupyterCellRaw: "vendor-jupyter-cell-raw";
vendorJupyterIpynb: "vendor-jupyter-ipynb";
vendorJupyterOutput: "vendor-jupyter-output";
vendorPadletEmbed: "vendor-padlet-embed";
vendorStripePricingTable: "vendor-stripe-pricing-table";
vendorStripePricingTableExternal: "vendor-stripe-pricing-table-external";
video: "video";
videoEmbed: "video-embed";
videoEmbedLandscape: "video-embed-landscape";
videoEmbedPortrait: "video-embed-portrait";
videoLandscape: "video-landscape";
videoLink: "video-link";
videoLinkLandscape: "video-link-landscape";
videoLinkPortrait: "video-link-portrait";
videoPortrait: "video-portrait";
videoTranscript: "video-transcript";
warning: "warning";
warningAlt: "warning-alt";
warningCollapsible: "warning-collapsible";
websiteLink: "website-link";
workbookArticle: "workbook-article";
}>>;
type BitTypeType = EnumType<typeof BitType>;
declare const BodyBitType: Readonly<{
readonly text: "text";
readonly gap: "gap";
readonly mark: "mark";
readonly select: "select";
readonly highlight: "highlight";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
readonly text: "text";
readonly gap: "gap";
readonly mark: "mark";
readonly select: "select";
readonly highlight: "highlight";
}>>;
type BodyBitTypeType = EnumType<typeof BodyBitType>;
declare const BitTagConfigKeyType: Readonly<{
unknown: "unknown";
tag: "tag";
property: "property";
resource: "resource";
group: "group";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
unknown: "unknown";
tag: "tag";
property: "property";
resource: "resource";
group: "group";
}>>;
type BitTagConfigKeyTypeType = EnumType<typeof BitTagConfigKeyType>;
/**
* Config keys for tags, resources, properties, and groups.
*
* Each type has a different prefix so there are no conflicts:
* - Resources: `&`
* - Properties: `@`
* - Groups: `group_`
* - Tags: <none>
*
*/
declare const ConfigKey: Readonly<{
group_standardAllBits: "group_standardAllBits";
group_standardItemLeadInstructionHint: "group_standardItemLeadInstructionHint";
group_standardTags: "group_standardTags";
group_imageSource: "group_imageSource";
group_technicalTerm: "group_technicalTerm";
group_person: "group_person";
group_gap: "group_gap";
group_trueFalse: "group_trueFalse";
group_markConfig: "group_markConfig";
group_mark: "group_mark";
group_bookCommon: "group_bookCommon";
group_learningPathCommon: "group_learningPathCommon";
group_quizCommon: "group_quizCommon";
group_resourceBitTags: "group_resourceBitTags";
group_resourceCommon: "group_resourceCommon";
group_resourceImageCommon: "group_resourceImageCommon";
group_resourceAudioCommon: "group_resourceAudioCommon";
group_resourceVideoCommon: "group_resourceVideoCommon";
group_resourceIcon: "group_resourceIcon";
group_resourceImage: "group_resourceImage";
group_resourceImageEmbed: "group_resourceImageEmbed";
group_resourceImageLink: "group_resourceImageLink";
group_resourceImageResponsive: "group_resourceImageResponsive";
group_resourceImagePortrait: "group_resourceImagePortrait";
group_resourceImageLandscape: "group_resourceImageLandscape";
group_resourceAudio: "group_resourceAudio";
group_resourceAudioEmbed: "group_resourceAudioEmbed";
group_resourceAudioLink: "group_resourceAudioLink";
group_resourceVideo: "group_resourceVideo";
group_resourceVideoEmbed: "group_resourceVideoEmbed";
group_resourceVideoLink: "group_resourceVideoLink";
group_resourceStillImageFilm: "group_resourceStillImageFilm";
group_resourceStillImageFilmEmbed: "group_resourceStillImageFilmEmbed";
group_resourceStillImageFilmLink: "group_resourceStillImageFilmLink";
group_resourceArticle: "group_resourceArticle";
group_resourceArticleEmbed: "group_resourceArticleEmbed";
group_resourceArticleLink: "group_resourceArticleLink";
group_resourceDocument: "group_resourceDocument";
group_resourceDocumentEmbed: "group_resourceDocumentEmbed";
group_resourceDocumentLink: "group_resourceDocumentLink";
group_resourceDocumentDownload: "group_resourceDocumentDownload";
group_resourceAppLink: "group_resourceAppLink";
group_resourceWebsiteLink: "group_resourceWebsiteLink";
property_action: "@action";
property_activityType: "@activityType";
property_additionalSolutions: "@additionalSolutions";
property_ageRange: "@ageRange";
property_aiGenerated: "@aiGenerated";
property_allowedBit: "@allowedBit";
property_allowSubtitles: "@allowSubtitles";
property_alt: "@alt";
property_altLangTag: "@altLangTag";
property_analyticsTag: "@analyticsTag";
property_author: "@author";
property_autoplay: "@autoplay";
property_availableClassifications: "@availableClassifications";
property_blockId: "@blockId";
property_book: "@book";
property_bookAlias: "@bookAlias";
property_bookDiff: "@bookDiff";
property_bot: "@bot";
property_bubbleTag: "@bubbleTag";
property_buttonCaption: "@buttonCaption";
property_callToActionUrl: "@callToActionUrl";
property_caption: "@caption";
property_categoryTag: "@categoryTag";
property_chatWithBook: "@chatWithBook";
property_chatWithBookBrainKey: "@chatWithBookBrainKey";
property_citationStyle: "@citationStyle";
property_classification: "@classification";
property_codeLineNumbers: "@codeLineNumbers";
property_codeMinimap: "@codeMinimap";
property_color: "@color";
property_colorTag: "@colorTag";
property_computerLanguage: "@computerLanguage";
property_content2Buy: "@content2Buy";
property_copyright: "@copyright";
property_coverColor: "@coverColor";
property_coverImage: "@coverImage";
property_customerExternalId: "@customerExternalId";
property_customerId: "@customerId";
property_date: "@date";
property_dateEnd: "@dateEnd";
property_decimalPlaces: "@decimalPlaces";
property_deeplink: "@deeplink";
property_diffContext: "@diffContext";
property_diffOp: "@diffOp";
property_diffRef: "@diffRef";
property_diffTime: "@diffTime";
property_diffTo: "@diffTo";
property_disableCalculation: "@disableCalculation";
property_disableFeedback: "@disableFeedback";
property_duration: "@duration";
property_isEditable: "@isEditable";
property_emphasis: "@emphasis";
property_example: "@example";
property_externalId: "@externalId";
property_externalLink: "@externalLink";
property_externalLinkText: "@externalLinkText";
property_feedbackEngine: "@feedbackEngine";
property_feedbackType: "@feedbackType";
property_flashcardSet: "@flashcardSet";
property_focusX: "@focusX";
property_focusY: "@focusY";
property_format: "@format";
property_fullName: "@fullName";
property_groupTag: "@groupTag";
property_handInAcceptFileType: "@handInAcceptFileType";
property_handInInstruction: "@handInInstruction";
property_handInRequirement: "@handInRequirement";
property_hasBookNavigation: "@hasBookNavigation";
property_hasMarkAsDone: "@hasMarkAsDone";
property_height: "@height";
property_icon: "@icon";
property_iconTag: "@iconTag";
property_id: "@id";
property_imageFirst: "@imageFirst";
property_imageSource: "@imageSource";
property_index: "@index";
property_internalComment: "@internalComment";
property_isCaseSensitive: "@isCaseSensitive";
property_isInfoOnly: "@isInfoOnly";
property_isPublic: "@isPublic";
property_isTemplate: "@isTemplate";
property_isTemplateStripTheme: "@isTemplateStripTheme";
property_isTracked: "@isTracked";
property_jobTitle: "@jobTitle";
property_jupyterExecutionCount: "@jupyterExecutionCount";
property_jupyterId: "@jupyterId";
property_kind: "@kind";
property_label: "@label";
property_labelFalse: "@labelFalse";
property_labelTrue: "@labelTrue";
property_lang: "@lang";
property_language: "@language";
property_layer: "@layer";
property_layerRole: "@layerRole";
property_levelACTFL: "@levelACTFL";
property_levelCEFR: "@levelCEFR";
property_levelCEFRp: "@levelCEFRp";
property_levelILR: "@levelILR";
property_license: "@license";
property_list: "@list";
property_listItemIndent: "@listItemIndent";
property_location: "@location";
property_machineTranslated: "@machineTranslated";
property_mailingList: "@mailingList";
property_mark: "@mark";
property_maxCreatedBits: "@maxCreatedBits";
property_maxDisplayLevel: "@maxDisplayLevel";
property_maxTocChapterLevel: "@maxTocChapterLevel";
property_mockupId: "@mockupId";
property_mute: "@mute";
property_padletId: "@padletId";
property_page: "@page";
property_pageNo: "@pageNo";
property_partialAnswer: "@partialAnswer";
property_partner: "@partner";
property_path: "@path";
property_person: "@person";
property_pointerLeft: "@pointerLeft";
property_pointerTop: "@pointerTop";
property_posterImage: "@posterImage";
property_processHandIn: "@processHandIn";
property_processHandInLocation: "@processHandInLocation";
property_product: "@product";
property_productFolder: "@productFolder";
property_productId: "@productId";
property_productVideo: "@productVideo";
property_progress: "@progress";
property_pseudonym: "@pseudonym";
property_publications: "@publications";
property_publisher: "@publisher";
property_publisherName: "@publisherName";
property_quizCountItems: "@quizCountItems";
property_quizStrikethroughSolutions: "@quizStrikethroughSolutions";
property_quotedPerson: "@quotedPerson";
property_ratingLevelEnd: "@ratingLevelEnd";
property_ratingLevelSelected: "@ratingLevelSelected";
property_ratingLevelStart: "@ratingLevelStart";
property_reaction: "@reaction";
property_reasonableNumOfChars: "@reasonableNumOfChars";
property_reductionTag: "@reductionTag";
property_refAuthor: "@refAuthor";
property_refBookTitle: "@refBookTitle";
property_reference: "@reference";
property_refPublicationYear: "@refPublicationYear";
property_refPublisher: "@refPublisher";
property_releaseDate: "@releaseDate";
property_releaseKind: "@releaseKind";
property_releaseVersion: "@releaseVersion";
property_reportTag: "@reportTag";
property_resolved: "@resolved";
property_resolvedBy: "@resolvedBy";
property_resolvedDate: "@resolvedDate";
property_revealSolutions: "@revealSolutions";
property_sampleSolution: "@sampleSolution";
property_scormSource: "@scormSource";
property_search: "@search";
property_searchIndex: "@searchIndex";
property_servings: "@servings";
property_showInIndex: "@showInIndex";
property_showSubtitles: "@showSubtitles";
property_siteName: "@siteName";
property_size: "@size";
property_slug: "@slug";
property_spaceId: "@spaceId";
property_src1x: "@src1x";
property_src2x: "@src2x";
property_src3x: "@src3x";
property_src4x: "@src4x";
property_stripePricingTableId: "@stripePricingTableId";
property_stripePublishableKey: "@stripePublishableKey";
property_subject: "@subject";
property_subtype: "@subtype";
property_tableAutoWidth: "@tableAutoWidth";
property_tableColumnMinWidth: "@tableColumnMinWidth";
property_tableFixedHeader: "@tableFixedHeader";
property_tableHeaderWhitespaceNoWrap: "@tableHeaderWhitespaceNoWrap";
property_tableHeight: "@tableHeight";
property_tablePagination: "@tablePagination";
property_tablePaginationLimit: "@tablePaginationLimit";
property_tableResizableColumns: "@tableResizableColumns";
property_tableSearch: "@tableSearch";
property_tableSort: "@tableSort";
property_tableWhitespaceNoWrap: "@tableWhitespaceNoWrap";
property_tag: "@tag";
property_target: "@target";
property_technicalTerm: "@technicalTerm";
property_textReference: "@textReference";
property_theme: "@theme";
property_thumbImage: "@thumbImage";
property_title: "@title";
property_toc: "@toc";
property_tocContent: "@tocContent";
property_tocResource: "@tocResource";
property_topicTag: "@topicTag";
property_trim: "@trim";
property_unit: "@unit";
property_unitAbbr: "@unitAbbr";
property_vendorDashboardId: "@vendorDashboardId";
property_vendorSurveyId: "@vendorSurveyId";
property_vendorUrl: "@vendorUrl";
property_videoCallLink: "@videoCallLink";
property_width: "@width";
property_x: "@x";
property_y: "@y";
property_zoomDisabled: "@zoomDisabled";
resource_image: "&image";
resource_imageResponsive: "&imageResponsive";
resource_imagePortrait: "&imagePortrait";
resource_imageLandscape: "&imageLandscape";
resource_imageEmbed: "&imageEmbed";
resource_imageLink: "&imageLink";
resource_audio: "&audio";
resource_audioEmbed: "&audioEmbed";
resource_audioLink: "&audioLink";
resource_video: "&video";
resource_videoEmbed: "&videoEmbed";
resource_videoLink: "&videoLink";
resource_stillImageFilm: "&stillImageFilm";
resource_stillImageFilmEmbed: "&stillImageFilmEmbed";
resource_stillImageFilmLink: "&stillImageFilmLink";
resource_article: "&article";
resource_articleEmbed: "&articleEmbed";
resource_articleLink: "&articleLink";
resource_document: "&document";
resource_documentEmbed: "&documentEmbed";
resource_documentLink: "&documentLink";
resource_documentDownload: "&documentDownload";
resource_appLink: "&appLink";
resource_websiteLink: "&websiteLink";
resource_icon: "&icon";
resource_backgroundWallpaper: "&backgroundWallpaper";
resource_imagePlaceholder: "&imagePlaceholder";
tag_title: "#";
tag_anchor: "▼";
tag_reference: "►";
tag_property: "@";
tag_item: "%";
tag_instruction: "!";
tag_hint: "?";
tag_true: "+";
tag_false: "-";
tag_sampleSolution: "$";
tag_gap: "_";
tag_mark: "=";
tag_resource: "&";
_unknown: "_unknown";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
group_standardAllBits: "group_standardAllBits";
group_standardItemLeadInstructionHint: "group_standardItemLeadInstructionHint";
group_standardTags: "group_standardTags";
group_imageSource: "group_imageSource";
group_technicalTerm: "group_technicalTerm";
group_person: "group_person";
group_gap: "group_gap";
group_trueFalse: "group_trueFalse";
group_markConfig: "group_markConfig";
group_mark: "group_mark";
group_bookCommon: "group_bookCommon";
group_learningPathCommon: "group_learningPathCommon";
group_quizCommon: "group_quizCommon";
group_resourceBitTags: "group_resourceBitTags";
group_resourceCommon: "group_resourceCommon";
group_resourceImageCommon: "group_resourceImageCommon";
group_resourceAudioCommon: "group_resourceAudioCommon";
group_resourceVideoCommon: "group_resourceVideoCommon";
group_resourceIcon: "group_resourceIcon";
group_resourceImage: "group_resourceImage";
group_resourceImageEmbed: "group_resourceImageEmbed";
group_resourceImageLink: "group_resourceImageLink";
group_resourceImageResponsive: "group_resourceImageResponsive";
group_resourceImagePortrait: "group_resourceImagePortrait";
group_resourceImageLandscape: "group_resourceImageLandscape";
group_resourceAudio: "group_resourceAudio";
group_resourceAudioEmbed: "group_resourceAudioEmbed";
group_resourceAudioLink: "group_resourceAudioLink";
group_resourceVideo: "group_resourceVideo";
group_resourceVideoEmbed: "group_resourceVideoEmbed";
group_resourceVideoLink: "group_resourceVideoLink";
group_resourceStillImageFilm: "group_resourceStillImageFilm";
group_resourceStillImageFilmEmbed: "group_resourceStillImageFilmEmbed";
group_resourceStillImageFilmLink: "group_resourceStillImageFilmLink";
group_resourceArticle: "group_resourceArticle";
group_resourceArticleEmbed: "group_resourceArticleEmbed";
group_resourceArticleLink: "group_resourceArticleLink";
group_resourceDocument: "group_resourceDocument";
group_resourceDocumentEmbed: "group_resourceDocumentEmbed";
group_resourceDocumentLink: "group_resourceDocumentLink";
group_resourceDocumentDownload: "group_resourceDocumentDownload";
group_resourceAppLink: "group_resourceAppLink";
group_resourceWebsiteLink: "group_resourceWebsiteLink";
property_action: "@action";
property_activityType: "@activityType";
property_additionalSolutions: "@additionalSolutions";
property_ageRange: "@ageRange";
property_aiGenerated: "@aiGenerated";
property_allowedBit: "@allowedBit";
property_allowSubtitles: "@allowSubtitles";
property_alt: "@alt";
property_altLangTag: "@altLangTag";
property_analyticsTag: "@analyticsTag";
property_author: "@author";
property_autoplay: "@autoplay";
property_availableClassifications: "@availableClassifications";
property_blockId: "@blockId";
property_book: "@book";
property_bookAlias: "@bookAlias";
property_bookDiff: "@bookDiff";
property_bot: "@bot";
property_bubbleTag: "@bubbleTag";
property_buttonCaption: "@buttonCaption";
property_callToActionUrl: "@callToActionUrl";
property_caption: "@caption";
property_categoryTag: "@categoryTag";
property_chatWithBook: "@chatWithBook";
property_chatWithBookBrainKey: "@chatWithBookBrainKey";
property_citationStyle: "@citationStyle";
property_classification: "@classification";
property_codeLineNumbers: "@codeLineNumbers";
property_codeMinimap: "@codeMinimap";
property_color: "@color";
property_colorTag: "@colorTag";
property_computerLanguage: "@computerLanguage";
property_content2Buy: "@content2Buy";
property_copyright: "@copyright";
property_coverColor: "@coverColor";
property_coverImage: "@coverImage";
property_customerExternalId: "@customerExternalId";
property_customerId: "@customerId";
property_date: "@date";
property_dateEnd: "@dateEnd";
property_decimalPlaces: "@decimalPlaces";
property_deeplink: "@deeplink";
property_diffContext: "@diffContext";
property_diffOp: "@diffOp";
property_diffRef: "@diffRef";
property_diffTime: "@diffTime";
property_diffTo: "@diffTo";
property_disableCalculation: "@disableCalculation";
property_disableFeedback: "@disableFeedback";
property_duration: "@duration";
property_isEditable: "@isEditable";
property_emphasis: "@emphasis";
property_example: "@example";
property_externalId: "@externalId";
property_externalLink: "@externalLink";
property_externalLinkText: "@externalLinkText";
property_feedbackEngine: "@feedbackEngine";
property_feedbackType: "@feedbackType";
property_flashcardSet: "@flashcardSet";
property_focusX: "@focusX";
property_focusY: "@focusY";
property_format: "@format";
property_fullName: "@fullName";
property_groupTag: "@groupTag";
property_handInAcceptFileType: "@handInAcceptFileType";
property_handInInstruction: "@handInInstruction";
property_handInRequirement: "@handInRequirement";
property_hasBookNavigation: "@hasBookNavigation";
property_hasMarkAsDone: "@hasMarkAsDone";
property_height: "@height";
property_icon: "@icon";
property_iconTag: "@iconTag";
property_id: "@id";
property_imageFirst: "@imageFirst";
property_imageSource: "@imageSource";
property_index: "@index";
property_internalComment: "@internalComment";
property_isCaseSensitive: "@isCaseSensitive";
property_isInfoOnly: "@isInfoOnly";
property_isPublic: "@isPublic";
property_isTemplate: "@isTemplate";
property_isTemplateStripTheme: "@isTemplateStripTheme";
property_isTracked: "@isTracked";
property_jobTitle: "@jobTitle";
property_jupyterExecutionCount: "@jupyterExecutionCount";
property_jupyterId: "@jupyterId";
property_kind: "@kind";
property_label: "@label";
property_labelFalse: "@labelFalse";
property_labelTrue: "@labelTrue";
property_lang: "@lang";
property_language: "@language";
property_layer: "@layer";
property_layerRole: "@layerRole";
property_levelACTFL: "@levelACTFL";
property_levelCEFR: "@levelCEFR";
property_levelCEFRp: "@levelCEFRp";
property_levelILR: "@levelILR";
property_license: "@license";
property_list: "@list";
property_listItemIndent: "@listItemIndent";
property_location: "@location";
property_machineTranslated: "@machineTranslated";
property_mailingList: "@mailingList";
property_mark: "@mark";
property_maxCreatedBits: "@maxCreatedBits";
property_maxDisplayLevel: "@maxDisplayLevel";
property_maxTocChapterLevel: "@maxTocChapterLevel";
property_mockupId: "@mockupId";
property_mute: "@mute";
property_padletId: "@padletId";
property_page: "@page";
property_pageNo: "@pageNo";
property_partialAnswer: "@partialAnswer";
property_partner: "@partner";
property_path: "@path";
property_person: "@person";
property_pointerLeft: "@pointerLeft";
property_pointerTop: "@pointerTop";
property_posterImage: "@posterImage";
property_processHandIn: "@processHandIn";
property_processHandInLocation: "@processHandInLocation";
property_product: "@product";
property_productFolder: "@productFolder";
property_productId: "@productId";
property_productVideo: "@productVideo";
property_progress: "@progress";
property_pseudonym: "@pseudonym";
property_publications: "@publications";
property_publisher: "@publisher";
property_publisherName: "@publisherName";
property_quizCountItems: "@quizCountItems";
property_quizStrikethroughSolutions: "@quizStrikethroughSolutions";
property_quotedPerson: "@quotedPerson";
property_ratingLevelEnd: "@ratingLevelEnd";
property_ratingLevelSelected: "@ratingLevelSelected";
property_ratingLevelStart: "@ratingLevelStart";
property_reaction: "@reaction";
property_reasonableNumOfChars: "@reasonableNumOfChars";
property_reductionTag: "@reductionTag";
property_refAuthor: "@refAuthor";
property_refBookTitle: "@refBookTitle";
property_reference: "@reference";
property_refPublicationYear: "@refPublicationYear";
property_refPublisher: "@refPublisher";
property_releaseDate: "@releaseDate";
property_releaseKind: "@releaseKind";
property_releaseVersion: "@releaseVersion";
property_reportTag: "@reportTag";
property_resolved: "@resolved";
property_resolvedBy: "@resolvedBy";
property_resolvedDate: "@resolvedDate";
property_revealSolutions: "@revealSolutions";
property_sampleSolution: "@sampleSolution";
property_scormSource: "@scormSource";
property_search: "@search";
property_searchIndex: "@searchIndex";
property_servings: "@servings";
property_showInIndex: "@showInIndex";
property_showSubtitles: "@showSubtitles";
property_siteName: "@siteName";
property_size: "@size";
property_slug: "@slug";
property_spaceId: "@spaceId";
property_src1x: "@src1x";
property_src2x: "@src2x";
property_src3x: "@src3x";
property_src4x: "@src4x";
property_stripePricingTableId: "@stripePricingTableId";
property_stripePublishableKey: "@stripePublishableKey";
property_subject: "@subject";
property_subtype: "@subtype";
property_tableAutoWidth: "@tableAutoWidth";
property_tableColumnMinWidth: "@tableColumnMinWidth";
property_tableFixedHeader: "@tableFixedHeader";
property_tableHeaderWhitespaceNoWrap: "@tableHeaderWhitespaceNoWrap";
property_tableHeight: "@tableHeight";
property_tablePagination: "@tablePagination";
property_tablePaginationLimit: "@tablePaginationLimit";
property_tableResizableColumns: "@tableResizableColumns";
property_tableSearch: "@tableSearch";
property_tableSort: "@tableSort";
property_tableWhitespaceNoWrap: "@tableWhitespaceNoWrap";
property_tag: "@tag";
property_target: "@target";
property_technicalTerm: "@technicalTerm";
property_textReference: "@textReference";
property_theme: "@theme";
property_thumbImage: "@thumbImage";
property_title: "@title";
property_toc: "@toc";
property_tocContent: "@tocContent";
property_tocResource: "@tocResource";
property_topicTag: "@topicTag";
property_trim: "@trim";
property_unit: "@unit";
property_unitAbbr: "@unitAbbr";
property_vendorDashboardId: "@vendorDashboardId";
property_vendorSurveyId: "@vendorSurveyId";
property_vendorUrl: "@vendorUrl";
property_videoCallLink: "@videoCallLink";
property_width: "@width";
property_x: "@x";
property_y: "@y";
property_zoomDisabled: "@zoomDisabled";
resource_image: "&image";
resource_imageResponsive: "&imageResponsive";
resource_imagePortrait: "&imagePortrait";
resource_imageLandscape: "&imageLandscape";
resource_imageEmbed: "&imageEmbed";
resource_imageLink: "&imageLink";
resource_audio: "&audio";
resource_audioEmbed: "&audioEmbed";
resource_audioLink: "&audioLink";
resource_video: "&video";
resource_videoEmbed: "&videoEmbed";
resource_videoLink: "&videoLink";
resource_stillImageFilm: "&stillImageFilm";
resource_stillImageFilmEmbed: "&stillImageFilmEmbed";
resource_stillImageFilmLink: "&stillImageFilmLink";
resource_article: "&article";
resource_articleEmbed: "&articleEmbed";
resource_articleLink: "&articleLink";
resource_document: "&document";
resource_documentEmbed: "&documentEmbed";
resource_documentLink: "&documentLink";
resource_documentDownload: "&documentDownload";
resource_appLink: "&appLink";
resource_websiteLink: "&websiteLink";
resource_icon: "&icon";
resource_backgroundWallpaper: "&backgroundWallpaper";
resource_imagePlaceholder: "&imagePlaceholder";
tag_title: "#";
tag_anchor: "▼";
tag_reference: "►";
tag_property: "@";
tag_item: "%";
tag_instruction: "!";
tag_hint: "?";
tag_true: "+";
tag_false: "-";
tag_sampleSolution: "$";
tag_gap: "_";
tag_mark: "=";
tag_resource: "&";
_unknown: "_unknown";
}>>;
type ConfigKeyType = EnumType<typeof ConfigKey>;
declare const ResourceType: Readonly<{
unknown: "unknown";
image: "image";
imageResponsive: "image-responsive";
imagePortrait: "image-portrait";
imageLandscape: "image-landscape";
imageEmbed: "image-embed";
imageLink: "image-link";
audio: "audio";
audioEmbed: "audio-embed";
audioLink: "audio-link";
video: "video";
videoEmbed: "video-embed";
videoLink: "video-link";
stillImageFilm: "still-image-film";
stillImageFilmEmbed: "still-image-film-embed";
stillImageFilmLink: "still-image-film-link";
article: "article";
articleEmbed: "article-embed";
articleLink: "article-link";
document: "document";
documentEmbed: "document-embed";
documentLink: "document-link";
documentDownload: "document-download";
appLink: "app-link";
websiteLink: "website-link";
icon: "icon";
backgroundWallpaper: "backgroundWallpaper";
imagePlaceholder: "imagePlaceholder";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
unknown: "unknown";
image: "image";
imageResponsive: "image-responsive";
imagePortrait: "image-portrait";
imageLandscape: "image-landscape";
imageEmbed: "image-embed";
imageLink: "image-link";
audio: "audio";
audioEmbed: "audio-embed";
audioLink: "audio-link";
video: "video";
videoEmbed: "video-embed";
videoLink: "video-link";
stillImageFilm: "still-image-film";
stillImageFilmEmbed: "still-image-film-embed";
stillImageFilmLink: "still-image-film-link";
article: "article";
articleEmbed: "article-embed";
articleLink: "article-link";
document: "document";
documentEmbed: "document-embed";
documentLink: "document-link";
documentDownload: "document-download";
appLink: "app-link";
websiteLink: "website-link";
icon: "icon";
backgroundWallpaper: "backgroundWallpaper";
imagePlaceholder: "imagePlaceholder";
}>>;
type ResourceTypeType = EnumType<typeof ResourceType>;
declare const TextFormat: Readonly<{
plainText: "text";
latex: "latex";
json: "json";
xml: "xml";
bitmarkText: "bitmark++";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
plainText: "text";
latex: "latex";
json: "json";
xml: "xml";
bitmarkText: "bitmark++";
}>>;
type TextFormatType = EnumType<typeof TextFormat>;
declare const TextMarkType: Readonly<{
bold: "bold";
light: "light";
italic: "italic";
highlight: "highlight";
strike: "strike";
subscript: "subscript";
superscript: "superscript";
ins: "ins";
del: "del";
underline: "underline";
doubleUnderline: "doubleUnderline";
circle: "circle";
languageEmRed: "languageEmRed";
languageEmOrange: "languageEmOrange";
languageEmYellow: "languageEmYellow";
languageEmGreen: "languageEmGreen";
languageEmBlue: "languageEmBlue";
languageEmPurple: "languageEmPurple";
languageEmPink: "languageEmPink";
languageEmBrown: "languageEmBrown";
languageEmBlack: "languageEmBlack";
languageEmWhite: "languageEmWhite";
languageEmGray: "languageEmGray";
languageEm: "languageEm";
userUnderline: "userUnderline";
userDoubleUnderline: "userDoubleUnderline";
userStrike: "userStrike";
userCircle: "userCircle";
userHighlight: "userHighlight";
notranslate: "notranslate";
link: "link";
ref: "ref";
xref: "xref";
extref: "extref";
footnote: "footnote";
footnoteStar: "footnote*";
symbol: "symbol";
var: "var";
code: "code";
timer: "timer";
duration: "duration";
color: "color";
comment: "comment";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
bold: "bold";
light: "light";
italic: "italic";
highlight: "highlight";
strike: "strike";
subscript: "subscript";
superscript: "superscript";
ins: "ins";
del: "del";
underline: "underline";
doubleUnderline: "doubleUnderline";
circle: "circle";
languageEmRed: "languageEmRed";
languageEmOrange: "languageEmOrange";
languageEmYellow: "languageEmYellow";
languageEmGreen: "languageEmGreen";
languageEmBlue: "languageEmBlue";
languageEmPurple: "languageEmPurple";
languageEmPink: "languageEmPink";
languageEmBrown: "languageEmBrown";
languageEmBlack: "languageEmBlack";
languageEmWhite: "languageEmWhite";
languageEmGray: "languageEmGray";
languageEm: "languageEm";
userUnderline: "userUnderline";
userDoubleUnderline: "userDoubleUnderline";
userStrike: "userStrike";
userCircle: "userCircle";
userHighlight: "userHighlight";
notranslate: "notranslate";
link: "link";
ref: "ref";
xref: "xref";
extref: "extref";
footnote: "footnote";
footnoteStar: "footnote*";
symbol: "symbol";
var: "var";
code: "code";
timer: "timer";
duration: "duration";
color: "color";
comment: "comment";
}>>;
type TextMarkTypeType = EnumType<typeof TextMarkType>;
declare const TextNodeType: Readonly<{
text: "text";
hardBreak: "hardBreak";
paragraph: "paragraph";
heading: "heading";
section: "section";
noBulletList: "noBulletList";
bulletList: "bulletList";
orderedList: "orderedList";
orderedListRoman: "orderedListRoman";
orderedListRomanLower: "orderedListRomanLower";
letteredList: "letteredList";
letteredListLower: "letteredListLower";
taskList: "taskList";
listItem: "listItem";
taskItem: "taskItem";
image: "image";
imageInline: "imageInline";
codeBlock: "codeBlock";
latex: "latex";
gap: "gap";
select: "select";
highlight: "highlight";
mark: "mark";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
text: "text";
hardBreak: "hardBreak";
paragraph: "paragraph";
heading: "heading";
section: "section";
noBulletList: "noBulletList";
bulletList: "bulletList";
orderedList: "orderedList";
orderedListRoman: "orderedListRoman";
orderedListRomanLower: "orderedListRomanLower";
letteredList: "letteredList";
letteredListLower: "letteredListLower";
taskList: "taskList";
listItem: "listItem";
taskItem: "taskItem";
image: "image";
imageInline: "imageInline";
codeBlock: "codeBlock";
latex: "latex";
gap: "gap";
select: "select";
highlight: "highlight";
mark: "mark";
}>>;
type TextNodeTypeType = EnumType<typeof TextNodeType>;
type JsonText = string | TextAst;
type TextAst = TextNode[];
interface TextNode {
type: TextNodeTypeType;
marks?: TextMark[];
text?: string;
content?: TextNode[];
parent?: TextNodeTypeType;
attrs?: TextNodeAttibutes;
}
interface TextMark {
type: TextMarkTypeType;
attrs?: TextMarkAttibutes;
}
interface LinkMark {
type: 'link';
attrs?: LinkMarkAttibutes;
}
interface CommentMark {
type: 'comment';
comment: string;
}
interface RefMark {
type: 'ref';
attrs?: RefMarkAttibutes;
}
interface XRefMark {
type: 'xref';
attrs?: XRefMarkAttibutes;
}
interface ExtRefMark {
type: 'extref';
attrs?: ExtRefMarkAttibutes;
}
interface FootnoteMark {
type: 'footnote';
attrs?: FootnoteAttibutes;
}
interface SymbolMark {
type: 'symbol';
attrs?: SymbolMarkAttibutes;
}
interface HeadingTextNode extends TextNode {
type: 'heading';
attrs?: HeadingTextNodeAttributes;
}
interface SectionTextNode extends TextNode {
type: 'heading';
section: string;
}
interface ImageTextNode extends TextNode {
type: 'image';
attrs?: ImageTextNodeAttributes;
}
interface ImageInlineTextNode extends TextNode {
type: 'imageInline';
attrs?: ImageTextNodeAttributes;
}
interface CodeBlockTextNode extends TextNode {
type: 'codeBlock';
attrs?: CodeBlockTextNodeAttributes;
}
interface LatexTextNode extends TextNode {
type: 'latex';
attrs?: LatexTextNodeAttibutes;
}
interface TextNodeAttibutes {
section: string;
}
interface HeadingTextNodeAttributes extends TextNodeAttibutes {
level: number;
}
interface ImageTextNodeAttributes extends TextNodeAttibutes, MediaAttributes {
}
interface CodeBlockTextNodeAttributes extends TextNodeAttibutes {
language: string;
}
interface LatexTextNodeAttibutes extends TextNodeAttibutes {
formula: string;
}
interface TextMarkAttibutes {
}
interface LinkMarkAttibutes extends TextMarkAttibutes {
href: string;
target: string;
}
interface RefMarkAttibutes extends TextMarkAttibutes {
reference: string;
}
interface XRefMarkAttibutes extends TextMarkAttibutes {
xref: string;
reference: string;
}
interface ExtRefMarkAttibutes extends TextMarkAttibutes, MediaAttributes {
extref: string;
references: string[];
provider: string;
}
interface FootnoteAttibutes extends TextMarkAttibutes {
content: TextNode[];
}
interface SymbolMarkAttibutes extends TextMarkAttibutes, MediaAttributes {
}
interface MediaAttributes {
src: string;
alt: string | null;
title: string | null;
textAlign: string;
width: string | number | null;
height: string | number | null;
class: string;
comment: string;
}
interface BodyBitsJson {
[key: string]: BodyBitJson;
}
type BodyBitJson = TextNode | GapJson | MarkJson | SelectJson | HighlightJson;
interface BaseBodyBitJson {
type: string;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__defaultExample?: ExampleJson;
attrs: Record<string, unknown>;
}
interface GapJson extends BaseBodyBitJson {
type: 'gap';
solutions: string[];
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isCaseSensitive: boolean;
isExample: boolean;
example: ExampleJson;
__solutionsAst?: TextAst[];
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface MarkJson extends BaseBodyBitJson {
type: 'mark';
solution: string;
mark: string;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface SelectJson extends BaseBodyBitJson {
type: 'select';
options: SelectOptionJson[];
prefix: string;
postfix: string;
isExample: boolean;
__hintString?: string;
__instructionString?: string;
}
interface SelectOptionJson {
text: string;
isCorrect: boolean;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface HighlightJson extends BaseBodyBitJson {
type: 'highlight';
texts: HighlightTextJson[];
prefix: string;
postfix: string;
}
interface HighlightTextJson {
text: string;
isHighlighted: boolean;
isCorrect: boolean;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
type ResourceDataJson = ImageResourceJson & ImageResponsiveResourceJson & ImageLinkResourceJson & AudioResourceJson & AudioEmbedResourceJson & AudioLinkResourceJson & VideoResourceJson & VideoEmbedResourceJson & VideoLinkResourceJson & StillImageFilmResourceJson & StillImageFilmEmbedResourceJson & StillImageFilmLinkResourceJson & ArticleResourceJson & DocumentResourceJson & DocumentEmbedResourceJson & DocumentLinkResourceJson & DocumentDownloadResourceJson & AppLinkResourceJson & WebsiteLinkResourceJson;
type ResourceJson = ImageResourceWrapperJson | ImageResponsiveResourceWrapperJson | ImageLinkResourceWrapperJson | AudioResourceWrapperJson | AudioEmbedResourceWrapperJson | AudioLinkResourceWrapperJson | VideoResourceWrapperJson | VideoEmbedResourceWrapperJson | VideoLinkResourceWrapperJson | StillImageFilmResourceWrapperJson | StillImageFilmEmbedResourceWrapperJson | StillImageFilmLinkResourceWrapperJson | ArticleResourceWrapperJson | DocumentResourceWrapperJson | DocumentEmbedResourceWrapperJson | DocumentLinkResourceWrapperJson | DocumentDownloadResourceWrapperJson | AppLinkResourceWrapperJson | WebsiteLinkResourceWrapperJson;
interface ResourceWrapperJson {
type: ResourceTypeType;
__typeAlias: ResourceTypeType;
__configKey: ConfigKeyType;
__invalid?: boolean;
__excessResource?: boolean;
}
interface ImageResourceWrapperJson extends ResourceWrapperJson {
type: 'image';
image: ImageResourceJson;
}
interface ImageResponsiveResourceWrapperJson extends ResourceWrapperJson {
type: 'image-responsive';
imagePortrait: ImageResourceJson;
imageLandscape: ImageResourceJson;
}
interface ImageLinkResourceWrapperJson extends ResourceWrapperJson {
type: 'image-link';
imageLink: ImageLinkResourceJson;
}
interface AudioResourceWrapperJson extends ResourceWrapperJson {
type: 'audio';
audio: AudioResourceJson;
}
interface AudioEmbedResourceWrapperJson extends ResourceWrapperJson {
type: 'audio-embed';
audioEmbed: AudioEmbedResourceJson;
}
interface AudioLinkResourceWrapperJson extends ResourceWrapperJson {
type: 'audio-link';
audioLink: AudioLinkResourceJson;
}
interface VideoResourceWrapperJson extends ResourceWrapperJson {
type: 'video';
video: VideoResourceJson;
}
interface VideoEmbedResourceWrapperJson extends ResourceWrapperJson {
type: 'video-embed';
videoEmbed: VideoEmbedResourceJson;
}
interface VideoLinkResourceWrapperJson extends ResourceWrapperJson {
type: 'video-link';
videoLink: VideoLinkResourceJson;
}
interface StillImageFilmResourceWrapperJson extends ResourceWrapperJson {
type: 'still-image-film';
image: ImageResourceJson;
audio: AudioResourceJson;
}
interface StillImageFilmEmbedResourceWrapperJson extends ResourceWrapperJson {
type: 'still-image-film-embed';
stillImageFilmEmbed: StillImageFilmEmbedResourceJson;
}
interface StillImageFilmLinkResourceWrapperJson extends ResourceWrapperJson {
type: 'still-image-film-link';
stillImageFilmLink: StillImageFilmLinkResourceJson;
}
interface ArticleResourceWrapperJson extends ResourceWrapperJson {
type: 'article';
article: ArticleResourceJson;
}
interface DocumentResourceWrapperJson extends ResourceWrapperJson {
type: 'document';
document: DocumentResourceJson;
}
interface DocumentEmbedResourceWrapperJson extends ResourceWrapperJson {
type: 'document-embed';
documentEmbed: DocumentEmbedResourceJson;
}
interface DocumentLinkResourceWrapperJson extends ResourceWrapperJson {
type: 'document-link';
documentLink: DocumentLinkResourceJson;
}
interface DocumentDownloadResourceWrapperJson extends ResourceWrapperJson {
type: 'document-download';
documentDownload: DocumentDownloadResourceJson;
}
interface AppLinkResourceWrapperJson extends ResourceWrapperJson {
type: 'app-link';
appLink: AppLinkResourceJson;
}
interface WebsiteLinkResourceWrapperJson extends ResourceWrapperJson {
type: 'website-link';
websiteLink: WebsiteLinkResourceJson;
}
interface BaseResourceJson {
license: string;
copyright: string;
provider: string;
showInIndex: boolean;
caption: JsonText;
search: string;
}
interface ImageResourceJson extends BaseResourceJson {
format: string;
src: string;
src1x: string;
src2x: string;
src3x: string;
src4x: string;
width: string | null;
height: string | null;
alt: string;
zoomDisabled: boolean;
}
interface ImageLinkResourceJson extends BaseResourceJson {
format: string;
url: string;
src1x: string;
src2x: string;
src3x: string;
src4x: string;
width: string | null;
height: string | null;
alt: string;
zoomDisabled: boolean;
}
interface ImageResponsiveResourceJson extends BaseResourceJson {
imagePortrait: ImageResourceJson;
imageLandscape: ImageResourceJson;
}
interface AudioResourceJson extends BaseResourceJson {
format: string;
src: string;
duration: number;
mute: boolean;
autoplay: boolean;
}
interface AudioEmbedResourceJson extends BaseResourceJson {
format: string;
src: string;
duration: number;
mute: boolean;
autoplay: boolean;
}
interface AudioLinkResourceJson extends BaseResourceJson {
format: string;
url: string;
duration: number;
mute: boolean;
autoplay: boolean;
}
interface VideoResourceJson extends BaseResourceJson {
format: string;
src: string;
width: string | null;
height: string | null;
duration: number;
mute: boolean;
autoplay: boolean;
allowSubtitles: boolean;
showSubtitles: boolean;
alt: string;
posterImage: ImageResourceJson;
thumbnails: ImageResourceJson[];
}
interface VideoEmbedResourceJson extends BaseResourceJson {
format: string;
url: string;
width: string | null;
height: string | null;
duration: number;
mute: boolean;
autoplay: boolean;
allowSubtitles: boolean;
showSubtitles: boolean;
alt: string;
posterImage: ImageResourceJson;
thumbnails: ImageResourceJson[];
}
interface VideoLinkResourceJson extends BaseResourceJson {
format: string;
url: string;
width: string | null;
height: string | null;
duration: number;
mute: boolean;
autoplay: boolean;
allowSubtitles: boolean;
showSubtitles: boolean;
alt: string;
posterImage: ImageResourceJson;
thumbnails: ImageResourceJson[];
}
interface StillImageFilmResourceJson extends BaseResourceJson {
image: ImageResourceJson;
audio: AudioResourceJson;
}
interface StillImageFilmEmbedResourceJson extends BaseResourceJson {
format: string;
url: string;
width: string | null;
height: string | null;
duration: number;
mute: boolean;
autoplay: boolean;
allowSubtitles: boolean;
showSubtitles: boolean;
alt: string;
posterImage: ImageResourceJson;
thumbnails: ImageResourceJson[];
}
interface StillImageFilmLinkResourceJson extends BaseResourceJson {
format: string;
url: string;
width: string | null;
height: string | null;
duration: number;
mute: boolean;
autoplay: boolean;
allowSubtitles: boolean;
showSubtitles: boolean;
alt: string;
posterImage: ImageResourceJson;
thumbnails: ImageResourceJson[];
}
interface ArticleResourceJson extends BaseResourceJson {
format: string;
body: string;
}
interface DocumentResourceJson extends BaseResourceJson {
format: string;
url: string;
}
interface DocumentEmbedResourceJson extends BaseResourceJson {
format: string;
url: string;
}
interface DocumentLinkResourceJson extends BaseResourceJson {
format: string;
url: string;
}
interface DocumentDownloadResourceJson extends BaseResourceJson {
format: string;
url: string;
}
interface AppLinkResourceJson extends BaseResourceJson {
url: string;
}
interface WebsiteLinkResourceJson extends BaseResourceJson {
url: string;
}
interface BitJson {
type: string;
originalType: string;
bitLevel: number;
format: string;
id: string | string[];
internalComment: string | string[];
customerId: string;
customerExternalId: string | string[];
externalId: string | string[];
spaceId: string | string[];
padletId: string;
jupyterId: string;
jupyterExecutionCount: number;
isPublic: boolean;
isTemplate: boolean;
isTemplateStripTheme: boolean;
isEditable: boolean;
aiGenerated: boolean;
machineTranslated: string;
searchIndex: string | string[];
analyticsTag: string | string[];
categoryTag: string | string[];
topicTag: string | string[];
reportTag: string | string[];
altLangTag: string;
feedbackEngine: string;
feedbackType: string;
disableFeedback: boolean;
diffOp: string;
diffRef: string;
diffContext: string;
diffTime: number;
path: string;
releaseVersion: string;
releaseKind: string;
releaseDate: string;
ageRange: number | number[];
lang: string;
language: string | string[];
computerLanguage: string;
target: string | string[];
slug: string;
tag: string | string[];
groupTag: GroupTagJson[];
reductionTag: string | string[];
bubbleTag: string | string[];
levelCEFRp: string;
levelCEFR: string;
levelILR: string;
levelACTFL: string;
icon: string;
iconTag: string;
colorTag: string | string[];
flashcardSet: string | string[];
subtype: string;
bookAlias: string | string[];
bookDiff: string;
coverImage: string | string[];
coverColor: string;
publisher: string | string[];
publisherName: string;
publications: string | string[];
author: string | string[];
subject: string | string[];
date: string;
dateEnd: string;
location: string;
theme: string | string[];
kind: string;
hasMarkAsDone: boolean;
processHandIn: boolean;
processHandInLocation: string;
chatWithBook: boolean;
chatWithBookBrainKey: string;
action: string;
showInIndex: boolean;
refAuthor: string | string[];
refBookTitle: string;
refPublisher: string | string[];
refPublicationYear: string;
citationStyle: string;
blockId: string;
pageNo: number;
x: number;
y: number;
width: string;
height: string;
index: number;
classification: string;
availableClassifications: string | string[];
allowedBit: string | string[];
tableFixedHeader: boolean;
tableHeaderWhitespaceNoWrap: boolean;
tableSearch: boolean;
tableSort: boolean;
tablePagination: boolean;
tablePaginationLimit: number;
tableHeight: number;
tableWhitespaceNoWrap: boolean;
tableAutoWidth: boolean;
tableResizableColumns: boolean;
tableColumnMinWidth: number;
quizCountItems: boolean;
quizStrikethroughSolutions: boolean;
codeLineNumbers: boolean;
codeMinimap: boolean;
stripePricingTableId: string;
stripePublishableKey: string;
thumbImage: string;
scormSource: string;
posterImage: string;
focusX: number;
focusY: number;
pointerLeft: string;
pointerTop: string;
listItemIndent: number;
backgroundWallpaper: ImageResourceWrapperJson;
hasBookNavigation: boolean;
duration: string;
deeplink: string | string[];
externalLink: string;
externalLinkText: string;
videoCallLink: string;
vendorDashboardId: string;
vendorSurveyId: string;
vendorUrl: string;
search: string;
bot: string | string[];
list: string | string[];
layer: string | string[];
layerRole: string | string[];
textReference: string;
isTracked: boolean;
isInfoOnly: boolean;
imageFirst: boolean;
activityType: string;
labelTrue: string;
labelFalse: string;
content2Buy: string;
mailingList: string;
buttonCaption: string;
callToActionUrl: string;
caption: JsonText;
quotedPerson: string;
reasonableNumOfChars: number;
resolved: boolean;
resolvedDate: string;
resolvedBy: string;
handInAcceptFileType: string | string[];
handInRequirement: string | string[];
handInInstruction: string;
maxCreatedBits: number;
maxDisplayLevel: number;
maxTocChapterLevel: number;
tocResource: string | string[];
tocContent: string | string[];
page: string;
productId: string | string[];
product: string;
productVideo: string;
productFolder: string;
technicalTerm: TechnicalTermJson;
servings: ServingsJson;
ratingLevelStart: RatingLevelStartEndJson;
ratingLevelEnd: RatingLevelStartEndJson;
ratingLevelSelected: number;
book: string | BookJson[];
title: JsonText;
subtitle: JsonText;
level: number;
toc: boolean;
progress: boolean;
anchor: string;
reference: string | string[];
referenceEnd: string;
revealSolutions: boolean;
item: JsonText;
lead: JsonText;
pageNumber: JsonText;
marginNumber: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
imageSource: ImageSourceJson;
person: PersonJson;
partner: PersonJson;
marks: MarkConfigJson[];
extraProperties: {
[key: string]: unknown | unknown[];
};
imagePlaceholder: ImageResourceWrapperJson;
resource: ResourceJson;
logos: ImageResourceWrapperJson[];
images: ImageResourceWrapperJson[];
body: JsonText | unknown;
sampleSolution: string;
additionalSolutions: string[];
partialAnswer: string;
elements: string[];
statement: string;
isCorrect: boolean;
cards: FlashcardJson[];
definitions: DefinitionListItemJson[];
descriptions: DefinitionListItemJson[];
statements: StatementJson[];
responses: ResponseJson[] | BotResponseJson[];
feedbacks: FeedbackJson[];
quizzes: QuizJson[];
heading: HeadingJson;
pairs: PairJson[];
matrix: MatrixJson[];
table: TableJson;
choices: ChoiceJson[];
questions: QuestionJson[];
ingredients: IngredientJson[];
listItems: ListItemJson[];
sections: ListItemJson[];
bookReferences: BookReferenceJson[];
footer: JsonText;
placeholders: BodyBitsJson;
}
interface BookJson {
book: string;
reference: string;
referenceEnd: string;
}
interface GroupTagJson {
name: string;
tags: string[];
}
interface ImageSourceJson {
url: string;
mockupId: string;
size?: number;
format?: string;
trim?: boolean;
}
interface PersonJson {
name: string;
title: string;
avatarImage: ImageResourceWrapperJson;
}
interface MarkConfigJson {
mark: string;
color: string;
emphasis: string;
}
interface FlashcardJson {
question: TextAndIconJson;
answer: TextAndIconJson;
alternativeAnswers: TextAndIconJson[];
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface DefinitionListItemJson {
term: TextAndIconJson;
definition: TextAndIconJson;
alternativeDefinitions: TextAndIconJson[];
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface TextAndIconJson {
text: JsonText;
icon: ImageResourceWrapperJson;
}
interface StatementJson {
statement: string;
isCorrect: boolean;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface FeedbackChoiceJson {
choice: string;
requireReason: boolean;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface FeedbackReasonJson {
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
text: string;
reasonableNumOfChars: number;
isExample: boolean;
example: ExampleJson;
__textAst?: TextAst;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface ChoiceJson {
choice: string;
isCorrect: boolean;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface ResponseJson {
response: string;
isCorrect: boolean;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
example: ExampleJson;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface FeedbackJson {
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
choices: FeedbackChoiceJson[];
reason: FeedbackReasonJson;
}
interface QuizJson {
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
choices: ChoiceJson[];
responses: ResponseJson[];
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface HeadingJson {
forKeys: string;
forValues: string | string[];
__forValuesDefault?: string | string[];
}
interface PairJson {
key: string;
keyAudio: AudioResourceWrapperJson;
keyImage: ImageResourceWrapperJson;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isCaseSensitive: boolean;
isExample: boolean;
example: ExampleJson;
values: string[];
__valuesAst?: TextAst[];
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface MatrixJson {
key: string;
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isExample: boolean;
cells: MatrixCellJson[];
__isDefaultExample?: boolean;
}
interface MatrixCellJson {
values: string[];
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
isCaseSensitive: boolean;
isExample: boolean;
example: ExampleJson;
__valuesAst?: TextAst[];
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface PronunciationTableCellJson {
title: JsonText;
body: JsonText;
audio: AudioResourceWrapperJson;
}
interface PronunciationTableJson {
data: PronunciationTableCellJson[][];
}
interface TableJson {
columns: JsonText[];
data: JsonText[][];
}
interface QuestionJson {
question: string;
partialAnswer: string;
sampleSolution: string;
additionalSolutions: string[];
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
reasonableNumOfChars: number;
isExample: boolean;
example: ExampleJson;
__sampleSolutionAst?: TextAst;
__isDefaultExample?: boolean;
__defaultExample?: ExampleJson;
}
interface BotResponseJson {
response: string;
reaction: string;
feedback: string;
item: JsonText;
lead: JsonText;
hint: JsonText;
}
interface TechnicalTermJson {
technicalTerm: string;
lang: string;
}
interface ServingsJson {
servings: number;
unit: string;
unitAbbr: string;
decimalPlaces: number;
disableCalculation: boolean;
hint: string;
}
interface IngredientJson {
title: string;
checked: boolean;
ingredient: string;
quantity: number;
unit: string;
unitAbbr: string;
decimalPlaces: number;
disableCalculation: boolean;
item: JsonText;
lead: JsonText;
hint: JsonText;
}
interface RatingLevelStartEndJson {
level: number;
label?: JsonText;
}
interface ListItemJson {
item: JsonText;
lead: JsonText;
hint: JsonText;
instruction: JsonText;
body: JsonText | unknown;
}
interface BookReferenceJson {
lang: string;
refAuthor: string;
refBookTitle: string[];
refPublisher: string;
}
type ExampleJson = JsonText | boolean | null;
interface ParserLocation {
offset: number;
line: number;
column: number;
}
interface ParserError {
message: string;
text?: string;
location?: {
start: ParserLocation;
end: ParserLocation;
};
original?: {
text?: string;
location?: {
start: ParserLocation;
end: ParserLocation;
};
};
}
interface ParserInfo {
version?: string;
bitmarkVersion?: string;
textParserVersion?: string;
warnings?: ParserError[];
errors?: ParserError[];
}
type Node = any;
interface BitmarkAst {
bits?: Bit[];
errors?: ParserError[];
}
interface Bit {
bitType: BitTypeType;
bitLevel: number;
textFormat: TextFormatType;
resourceType?: ResourceTypeType;
isCommented?: boolean;
id?: Property;
internalComment?: Property;
customerId?: Property;
customerExternalId?: Property;
externalId?: Property;
spaceId?: Property;
padletId?: Property;
jupyterId?: Property;
jupyterExecutionCount?: Property;
isPublic?: Property;
isTemplate?: Property;
isTemplateStripTheme?: Property;
isEditable?: Property;
aiGenerated?: Property;
machineTranslated?: Property;
searchIndex?: Property;
analyticsTag?: Property;
categoryTag?: Property;
topicTag?: Property;
reportTag?: Property;
altLangTag?: Property;
feedbackEngine?: Property;
feedbackType?: Property;
disableFeedback?: Property;
diffTo?: Property;
diffOp?: Property;
diffRef?: Property;
diffContext?: Property;
diffTime?: Property;
path?: Property;
releaseVersion?: Property;
releaseKind?: Property;
releaseDate?: Property;
ageRange?: Property;
lang?: Property;
language?: Property;
publisher?: Property;
publisherName?: Property;
theme?: Property;
computerLanguage?: Property;
target?: Property;
slug?: Property;
tag?: Property;
groupTag?: GroupTagJson[];
reductionTag?: Property;
bubbleTag?: Property;
levelCEFRp?: Property;
levelCEFR?: Property;
levelILR?: Property;
levelACTFL?: Property;
icon?: Property;
iconTag?: Property;
colorTag?: Property;
flashcardSet?: Property;
subtype?: Property;
bookAlias?: Property;
bookDiff?: Property;
coverImage?: Property;
coverColor?: Property;
publications?: Property;
author?: Property;
subject?: Property;
date?: Property;
dateEnd?: Property;
location?: Property;
kind?: Property;
hasMarkAsDone?: Property;
processHandIn?: Property;
processHandInLocation?: Property;
chatWithBook?: Property;
chatWithBookBrainKey?: Property;
action?: Property;
showInIndex?: Property;
refAuthor?: Property;
refBookTitle?: Property;
refPublisher?: Property;
refPublicationYear?: Property;
citationStyle?: Property;
blockId?: Property;
pageNo?: Property;
x?: Property;
y?: Property;
width?: Property;
height?: Property;
index?: Property;
classification?: Property;
availableClassifications?: Property;
allowedBit?: Property;
tableFixedHeader?: Property;
tableHeaderWhitespaceNoWrap?: Property;
tableSearch?: Property;
tableSort?: Property;
tablePagination?: Property;
tablePaginationLimit?: Property;
tableHeight?: Property;
tableWhitespaceNoWrap?: Property;
tableAutoWidth?: Property;
tableResizableColumns?: Property;
tableColumnMinWidth?: Property;
quizCountItems?: Property;
quizStrikethroughSolutions?: Property;
codeLineNumbers?: Property;
codeMinimap?: Property;
stripePricingTableId?: Property;
stripePublishableKey?: Property;
thumbImage?: Property;
scormSource?: Property;
posterImage?: Property;
focusX?: Property;
focusY?: Property;
pointerLeft?: Property;
pointerTop?: Property;
listItemIndent?: Property;
backgroundWallpaper?: ImageResourceWrapperJson;
hasBookNavigation?: Property;
duration?: Property;
deeplink?: Property;
externalLink?: Property;
externalLinkText?: Property;
videoCallLink?: Property;
vendorDashboardId?: Property;
vendorSurveyId?: Property;
vendorUrl?: Property;
search?: Property;
bot?: Property;
referenceProperty?: Property;
fullName?: Property;
pseudonym?: Property;
titleString?: Property;
jobTitle?: Property;
list?: Property;
layer?: Property;
layerRole?: Property;
textReference?: Property;
isTracked?: Property;
isInfoOnly?: Property;
imageFirst?: Property;
activityType?: Property;
labelTrue?: Property;
labelFalse?: Property;
content2Buy?: Property;
mailingList?: Property;
buttonCaption?: Property;
callToActionUrl?: Property;
caption?: TextAst;
quotedPerson?: Property;
partialAnswer?: Property;
reasonableNumOfChars?: Property;
resolved?: Property;
resolvedDate?: Property;
resolvedBy?: Property;
handInAcceptFileType?: Property;
handInRequirement?: Property;
handInInstruction?: Property;
maxCreatedBits?: Property;
maxDisplayLevel?: Property;
maxTocChapterLevel?: Property;
tocResource?: Property;
tocContent?: Property;
page?: Property;
productId?: Property;
product?: Property;
productList?: Property;
productVideo?: Property;
productVideoList?: Property;
productFolder?: Property;
technicalTerm?: TechnicalTermJson;
servings?: ServingsJson;
ratingLevelStart?: RatingLevelStartEndJson;
ratingLevelEnd?: RatingLevelStartEndJson;
ratingLevelSelected?: Property;
markConfig?: MarkConfigJson[];
extraProperties?: ExtraProperties;
book?: string | BookJson[];
title?: TextAst;
subtitle?: TextAst;
level?: number;
toc?: Property;
progress?: Property;
anchor?: string;
reference?: string;
referenceEnd?: string;
revealSolutions?: Property;
item?: TextAst;
lead?: TextAst;
pageNumber?: TextAst;
marginNumber?: TextAst;
hint?: TextAst;
instruction?: TextAst;
isExample?: boolean;
example?: ExampleJson;
imageSource?: ImageSourceJson;
person?: PersonJson;
imagePlaceholder?: ImageResourceWrapperJson;
resources?: ResourceJson[];
body?: Body;
sampleSolution?: Property;
additionalSolutions?: Property;
statement?: StatementJson;
choices?: ChoiceJson[];
responses?: ResponseJson[];
cardNode?: CardNode;
footer?: Footer;
markup?: string;
parser?: ParserInfo;
__isDefaultExample: boolean;
__defaultExample?: ExampleJson;
}
type Example = JsonText | string | boolean;
interface ExtraProperties {
[key: string]: Property;
}
type Property = string[] | number[] | boolean[] | string | number | boolean;
interface Body {
body?: JsonText | unknown;
bodyBits?: BodyBitJson[];
placeholders?: BodyBitsJson;
bodyString?: string;
}
interface BodyPart {
type: BodyBitTypeType;
data?: unknown;
}
interface CardBit extends Bit {
}
interface CardNode {
questions?: QuestionJson[];
elements?: string[];
flashcards?: FlashcardJson[];
definitions?: DefinitionListItemJson[];
statement?: StatementJson;
statements?: StatementJson[];
choices?: ChoiceJson[];
responses?: ResponseJson[];
feedbacks?: FeedbackJson[];
quizzes?: QuizJson[];
heading?: HeadingJson;
pairs?: PairJson[];
matrix?: MatrixJson[];
pronunciationTable?: PronunciationTableJson;
table?: TableJson;
botResponses?: BotResponseJson[];
cardBits?: Bit[];
ingredients?: IngredientJson[];
}
interface Footer {
footer?: JsonText;
}
/**
* Defines the type of a node in the AST.
* All valid node types should be defined here.
*
* Nodes not defined here will not be walked by the AST walker.
*
* @enum
*/
declare const NodeType: Readonly<{
unknown: "unknown";
__isDefaultExample: "__isDefaultExample";
__typeAlias: "__typeAlias";
action: "action";
actionValue: "actionValue";
activityType: "activityType";
activityTypeValue: "activityTypeValue";
additionalSolutions: "additionalSolutions";
additionalSolutionsValue: "additionalSolutionsValue";
ageRange: "ageRange";
ageRangeValue: "ageRangeValue";
aiGenerated: "aiGenerated";
aiGeneratedValue: "aiGeneratedValue";
alias: "alias";
alignment: "alignment";
allowedBit: "allowedBit";
allowedBitValue: "allowedBitValue";
alt: "alt";
alternativeAnswers: "alternativeAnswers";
alternativeAnswersValue: "alternativeAnswersValue";
alternativeDefinitions: "alternativeDefinitions";
alternativeDefinitionsValue: "alternativeDefinitionsValue";
altLangTag: "altLangTag";
altLangTagValue: "altLangTagValue";
analyticsTag: "analyticsTag";
analyticsTagValue: "analyticsTagValue";
anchor: "anchor";
answer: "answer";
appLink: "appLink";
attrs: "attrs";
audio: "audio";
audioEmbed: "audioEmbed";
audioLink: "audioLink";
author: "author";
authorValue: "authorValue";
availableClassifications: "availableClassifications";
availableClassificationsValue: "availableClassificationsValue";
avatarImage: "avatarImage";
backgroundWallpaper: "backgroundWallpaper";
backgroundWallpaperValue: "backgroundWallpaperValue";
bitLevel: "bitLevel";
bitmarkAst: "bitmarkAst";
bitmarkVersion: "bitmarkVersion";
bits: "bits";
bitsValue: "bitsValue";
bitType: "bitType";
blockId: "blockId";
blockIdValue: "blockIdValue";
body: "body";
bodyBit: "bodyBit";
bodyBits: "bodyBits";
bodyJson: "bodyJson";
bodyParts: "bodyParts";
bodyPartsValue: "bodyPartsValue";
bodyPartText: "bodyPartText";
bodyText: "bodyText";
bodyValue: "bodyValue";
book: "book";
bookAlias: "bookAlias";
bookAliasValue: "bookAliasValue";
bookDiff: "bookDiff";
bookDiffValue: "bookDiffValue";
bookValue: "bookValue";
bot: "bot";
botResponses: "botResponses";
botResponsesValue: "botResponsesValue";
botValue: "botValue";
bubbleTag: "bubbleTag";
bubbleTagValue: "bubbleTagValue";
buttonCaption: "buttonCaption";
buttonCaptionValue: "buttonCaptionValue";
callToActionUrl: "callToActionUrl";
callToActionUrlValue: "callToActionUrlValue";
caption: "caption";
captionDefinitionList: "captionDefinitionList";
captionValue: "captionValue";
cardBits: "cardBits";
cardBitsValue: "cardBitsValue";
cardNode: "cardNode";
categoryTag: "categoryTag";
categoryTagValue: "categoryTagValue";
cells: "cells";
cellsValue: "cellsValue";
chatWithBook: "chatWithBook";
chatWithBookBrainKey: "chatWithBookBrainKey";
chatWithBookBrainKeyValue: "chatWithBookBrainKeyValue";
chatWithBookValue: "chatWithBookValue";
checked: "checked";
choice: "choice";
choices: "choices";
choicesValue: "choicesValue";
citationStyle: "citationStyle";
citationStyleValue: "citationStyleValue";
class: "class";
classification: "classification";
classificationValue: "classificationValue";
codeLineNumbers: "codeLineNumbers";
codeLineNumbersValue: "codeLineNumbersValue";
codeMinimap: "codeMinimap";
codeMinimapValue: "codeMinimapValue";
color: "color";
colorTag: "colorTag";
colorTagValue: "colorTagValue";
column: "column";
columns: "columns";
columnsValue: "columnsValue";
comment: "comment";
commentedBitType: "commentedBitType";
computerLanguage: "computerLanguage";
computerLanguageValue: "computerLanguageValue";
content: "contentValue";
content2Buy: "content2Buy";
contentValue: "contentValue";
contentValueValue: "contentValueValue";
copyright: "copyright";
coverColor: "coverColor";
coverColorValue: "coverColorValue";
coverImage: "coverImage";
coverImageValue: "coverImageValue";
customerExternalId: "customerExternalId";
customerId: "customerId";
customerIdValue: "customerIdValue";
data: "data";
dataValue: "dataValue";
dataValueValue: "dataValueValue";
date: "date";
dateEnd: "dateEnd";
dateEndValue: "dateEndValue";
dateValue: "dateValue";
decimalPlaces: "decimalPlaces";
deeplink: "deeplink";
deeplinkValue: "deeplinkValue";
definition: "definition";
definitions: "definitions";
definitionsValue: "definitionsValue";
diffContext: "diffContext";
diffContextValue: "diffContextValue";
diffOp: "diffOp";
diffOpValue: "diffOpValue";
diffRef: "diffRef";
diffRefValue: "diffRefValue";
diffTime: "diffTime";
diffTimeValue: "diffTimeValue";
diffTo: "diffTo";
diffToValue: "diffToValue";
disableCalculation: "disableCalculation";
disableFeedback: "disableFeedback";
disableFeedbackValue: "disableFeedbackValue";
document: "document";
documentDownload: "documentDownload";
documentEmbed: "documentEmbed";
documentLink: "documentLink";
duration: "duration";
durationValue: "durationValue";
elements: "elements";
elementsValue: "elementsValue";
emphasis: "emphasis";
end: "end";
errors: "errors";
errorsValue: "errorsValue";
example: "example";
exampleValue: "exampleValue";
externalId: "externalId";
externalIdValue: "externalIdValue";
externalLink: "externalLink";
externalLinkText: "externalLinkText";
extraProperties: "extraProperties";
feedback: "feedback";
feedbackEngine: "feedbackEngine";
feedbackEngineValue: "feedbackEngineValue";
feedbacks: "feedbacks";
feedbacksValue: "feedbacksValue";
feedbackType: "feedbackType";
flashcards: "flashcards";
flashcardSet: "flashcardSet";
flashcardSetValue: "flashcardSetValue";
flashcardsValue: "flashcardsValue";
focusX: "focusX";
focusXValue: "focusXValue";
focusY: "focusY";
focusYValue: "focusYValue";
footer: "footer";
footerText: "footerText";
forKeys: "forKeys";
format: "format";
forValues: "forValues";
forValuesValue: "forValuesValue";
fullName: "fullName";
fullNameValue: "fullNameValue";
gap: "gap";
groupTag: "groupTag";
groupTagValue: "groupTagValue";
handInAcceptFileType: "handInAcceptFileType";
handInAcceptFileTypeValue: "handInAcceptFileTypeValue";
handInInstruction: "handInInstruction";
handInInstructionValue: "handInInstructionValue";
handInRequirement: "handInRequirement";
handInRequirementValue: "handInRequirementValue";
hasBookNavigation: "hasBookNavigation";
hasBookNavigationValue: "hasBookNavigationValue";
hasMarkAsDone: "hasMarkAsDone";
hasMarkAsDoneValue: "hasMarkAsDoneValue";
heading: "heading";
height: "height";
heightValue: "heightValue";
highlight: "highlight";
hint: "hint";
href: "href";
icon: "icon";
iconTag: "iconTag";
iconTagValue: "iconTagValue";
iconValue: "iconValue";
id: "id";
idValue: "idValue";
image: "image";
imageFirst: "imageFirst";
imageFirstValue: "imageFirstValue";
imageLandscape: "imageLandscape";
imageLink: "imageLink";
imagePlaceholder: "imagePlaceholder";
imagePlaceholderValue: "imagePlaceholderValue";
imagePortrait: "imagePortrait";
imageSource: "imageSource";
index: "index";
indexValue: "indexValue";
ingredients: "ingredients";
ingredientsValue: "ingredientsValue";
instruction: "instruction";
internalComment: "internalComment";
internalCommentValue: "internalCommentValue";
isCaseSensitive: "isCaseSensitive";
isCommented: "isCommented";
isCorrect: "isCorrect";
isEditable: "isEditable";
isEditableValue: "isEditableValue";
isExample: "isExample";
isInfoOnly: "isInfoOnly";
isInfoOnlyValue: "isInfoOnlyValue";
isPlain: "isPlain";
isPublic: "isPublic";
isPublicValue: "isPublicValue";
isTemplate: "isTemplate";
isTemplateStripTheme: "isTemplateStripTheme";
isTemplateStripThemeValue: "isTemplateStripThemeValue";
isTemplateValue: "isTemplateValue";
isTracked: "isTracked";
isTrackedValue: "isTrackedValue";
item: "item";
itemLead: "itemLead";
jobTitle: "jobTitle";
jobTitleValue: "jobTitleValue";
jupyterExecutionCount: "jupyterExecutionCount";
jupyterExecutionCountValue: "jupyterExecutionCountValue";
jupyterId: "jupyterId";
jupyterIdValue: "jupyterIdValue";
key: "key";
keyAudio: "keyAudio";
keyImage: "keyImage";
kind: "kind";
kindValue: "kindValue";
label: "label";
labelFalse: "labelFalse";
labelFalseValue: "labelFalseValue";
labelTrue: "labelTrue";
labelTrueValue: "labelTrueValue";
lang: "lang";
language: "language";
languageValue: "languageValue";
langValue: "langValue";
layer: "layer";
layerRole: "layerRole";
layerRoleValue: "layerRoleValue";
layerValue: "layerValue";
lead: "lead";
level: "level";
levelACTFL: "levelACTFL";
levelACTFLValue: "levelACTFLValue";
levelCEFR: "levelCEFR";
levelCEFRp: "levelCEFRp";
levelCEFRpValue: "levelCEFRpValue";
levelCEFRValue: "levelCEFRValue";
levelILR: "levelILR";
levelILRValue: "levelILRValue";
license: "license";
line: "line";
list: "list";
listItemIndent: "listItemIndent";
listItemIndentValue: "listItemIndentValue";
listValue: "listValue";
location: "location";
locationValue: "locationValue";
machineTranslated: "machineTranslated";
machineTranslatedValue: "machineTranslatedValue";
mailingList: "mailingList";
marginNumber: "marginNumber";
mark: "mark";
markConfig: "markConfig";
markConfigValue: "markConfigValue";
marks: "marks";
marksValue: "marksValue";
markup: "markup";
matrix: "matrix";
matrixValue: "matrixValue";
maxCreatedBits: "maxCreatedBits";
maxCreatedBitsValue: "maxCreatedBitsValue";
maxDisplayLevel: "maxDisplayLevel";
maxDisplayLevelValue: "maxDisplayLevelValue";
maxTocChapterLevel: "maxTocChapterLevel";
maxTocChapterLevelValue: "maxTocChapterLevelValue";
message: "message";
mockupId: "mockupId";
name: "name";
offset: "offset";
options: "options";
optionsValue: "optionsValue";
original: "original";
padletId: "padletId";
padletIdValue: "padletIdValue";
page: "page";
pageNo: "pageNo";
pageNoValue: "pageNoValue";
pageNumber: "pageNumber";
pageValue: "pageValue";
pairs: "pairs";
pairsValue: "pairsValue";
parent: "parent";
parser: "parser";
partialAnswer: "partialAnswer";
partialAnswerValue: "partialAnswerValue";
path: "path";
pathValue: "pathValue";
person: "person";
pointerLeft: "pointerLeft";
pointerLeftValue: "pointerLeftValue";
pointerTop: "pointerTop";
pointerTopValue: "pointerTopValue";
posterImage: "posterImage";
posterImageValue: "posterImageValue";
postfix: "postfix";
prefix: "prefix";
processHandIn: "processHandIn";
processHandInLocation: "processHandInLocation";
processHandInLocationValue: "processHandInLocationValue";
processHandInValue: "processHandInValue";
product: "product";
productFolder: "productFolder";
productFolderValue: "productFolderValue";
productId: "productId";
productIdValue: "productIdValue";
productList: "productList";
productListValue: "productListValue";
productValue: "productValue";
productVideo: "productVideo";
productVideoList: "productVideoList";
productVideoListValue: "productVideoListValue";
productVideoValue: "productVideoValue";
progress: "progress";
progressValue: "progressValue";
pronunciationTable: "pronunciationTable";
properties: "properties";
property: "property";
propertyKey: "propertyKey";
propertyValue: "propertyValue";
propertyValues: "propertyValues";
provider: "provider";
pseudonym: "pseudonym";
pseudonymValue: "pseudonymValue";
publications: "publications";
publicationsValue: "publicationsValue";
publisher: "publisher";
publisherName: "publisherName";
publisherNameValue: "publisherNameValue";
publisherValue: "publisherValue";
quantity: "quantity";
question: "question";
questions: "questions";
questionsValue: "questionsValue";
quizCountItems: "quizCountItems";
quizCountItemsValue: "quizCountItemsValue";
quizStrikethroughSolutions: "quizStrikethroughSolutions";
quizStrikethroughSolutionsValue: "quizStrikethroughSolutionsValue";
quizzes: "quizzes";
quizzesValue: "quizzesValue";
quotedPerson: "quotedPerson";
ratingLevelEnd: "ratingLevelEnd";
ratingLevelSelected: "ratingLevelSelected";
ratingLevelSelectedValue: "ratingLevelSelectedValue";
ratingLevelStart: "ratingLevelStart";
reaction: "reaction";
reason: "reason";
reasonableNumOfChars: "reasonableNumOfChars";
reasonableNumOfCharsValue: "reasonableNumOfCharsValue";
reductionTag: "reductionTag";
reductionTagValue: "reductionTagValue";
refAuthor: "refAuthor";
refBookTitle: "refBookTitle";
reference: "reference";
referenceEnd: "referenceEnd";
referenceProperty: "referenceProperty";
referencePropertyValue: "referencePropertyValue";
refPublicationYear: "refPublicationYear";
refPublisher: "refPublisher";
releaseDate: "releaseDate";
releaseDateValue: "releaseDateValue";
releaseKind: "releaseKind";
releaseKindValue: "releaseKindValue";
releaseVersion: "releaseVersion";
releaseVersionValue: "releaseVersionValue";
reportTag: "reportTag";
reportTagValue: "reportTagValue";
resolved: "resolved";
resolvedBy: "resolvedBy";
resolvedByValue: "resolvedByValue";
resolvedDate: "resolvedDate";
resolvedDateValue: "resolvedDateValue";
resolvedValue: "resolvedValue";
resources: "resources";
resourcesValue: "resourcesValue";
resourceType: "resourceType";
response: "response";
responses: "responses";
responsesValue: "responsesValue";
revealSolutions: "revealSolutions";
root: "root";
sampleSolution: "sampleSolution";
sampleSolutionValue: "sampleSolutionValue";
scormSource: "scormSource";
scormSourceValue: "scormSourceValue";
search: "search";
searchIndex: "searchIndex";
searchIndexValue: "searchIndexValue";
searchValue: "searchValue";
section: "section";
select: "select";
servings: "servings";
servingsValue: "servingsValue";
showInIndex: "showInIndex";
showInIndexValue: "showInIndexValue";
size: "size";
slug: "slug";
slugValue: "slugValue";
solution: "solution";
solutions: "solutions";
solutionsValue: "solutionsValue";
spaceId: "spaceId";
spaceIdValue: "spaceIdValue";
src: "src";
src1x: "src1x";
src2x: "src2x";
src3x: "src3x";
src4x: "src4x";
start: "start";
statement: "statement";
statements: "statements";
statementsValue: "statementsValue";
statementText: "statementText";
stillImageFilmEmbed: "stillImageFilmEmbed";
stillImageFilmLink: "stillImageFilmLink";
stripePricingTableId: "stripePricingTableId";
stripePricingTableIdValue: "stripePricingTableIdValue";
stripePublishableKey: "stripePublishableKey";
stripePublishableKeyValue: "stripePublishableKeyValue";
subject: "subject";
subjectValue: "subjectValue";
subtitle: "subtitle";
subtype: "subtype";
subtypeValue: "subtypeValue";
table: "table";
tableAutoWidth: "tableAutoWidth";
tableAutoWidthValue: "tableAutoWidthValue";
tableColumnMinWidth: "tableColumnMinWidth";
tableColumnMinWidthValue: "tableColumnMinWidthValue";
tableFixedHeader: "tableFixedHeader";
tableFixedHeaderValue: "tableFixedHeaderValue";
tableHeaderWhitespaceNoWrap: "tableHeaderWhitespaceNoWrap";
tableHeaderWhitespaceNoWrapValue: "tableHeaderWhitespaceNoWrapValue";
tableHeight: "tableHeight";
tableHeightValue: "tableHeightValue";
tablePagination: "tablePagination";
tablePaginationLimit: "tablePaginationLimit";
tablePaginationLimitValue: "tablePaginationLimitValue";
tablePaginationValue: "tablePaginationValue";
tableResizableColumns: "tableResizableColumns";
tableResizableColumnsValue: "tableResizableColumnsValue";
tableSearch: "tableSearch";
tableSearchValue: "tableSearchValue";
tableSort: "tableSort";
tableSortValue: "tableSortValue";
tableWhitespaceNoWrap: "tableWhitespaceNoWrap";
tableWhitespaceNoWrapValue: "tableWhitespaceNoWrapValue";
tag: "tag";
tagValue: "tagValue";
target: "target";
targetValue: "targetValue";
technicalTerm: "technicalTerm";
technicalTermValue: "technicalTermValue";
term: "term";
text: "text";
textAlign: "textAlign";
textAst: "textAst";
textAstValue: "textAstValue";
textFormat: "textFormat";
textReference: "textReference";
textReferenceValue: "textReferenceValue";
texts: "texts";
textsValue: "textsValue";
theme: "theme";
themeValue: "themeValue";
thumbImage: "thumbImage";
thumbImageValue: "thumbImageValue";
thumbnails: "thumbnails";
thumbnailsValue: "thumbnailsValue";
title: "title";
titleString: "titleString";
toc: "toc";
tocContent: "tocContent";
tocContentValue: "tocContentValue";
tocResource: "tocResource";
tocResourceValue: "tocResourceValue";
tocValue: "tocValue";
topicTag: "topicTag";
topicTagValue: "topicTagValue";
trim: "trim";
type: "type";
unit: "unit";
unitAbbr: "unitAbbr";
url: "url";
value: "value";
values: "values";
valuesValue: "valuesValue";
vendorDashboardId: "vendorDashboardId";
vendorDashboardIdValue: "vendorDashboardIdValue";
vendorSurveyId: "vendorSurveyId";
vendorSurveyIdValue: "vendorSurveyIdValue";
vendorUrl: "vendorUrl";
vendorUrlValue: "vendorUrlValue";
version: "version";
video: "video";
videoCallLink: "videoCallLink";
videoCallLinkValue: "videoCallLinkValue";
videoEmbed: "videoEmbed";
videoLink: "videoLink";
warnings: "warnings";
warningsValue: "warningsValue";
websiteLink: "websiteLink";
width: "width";
widthValue: "widthValue";
x: "x";
xValue: "xValue";
y: "y";
yValue: "yValue";
zoomDisabled: "zoomDisabled";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
unknown: "unknown";
__isDefaultExample: "__isDefaultExample";
__typeAlias: "__typeAlias";
action: "action";
actionValue: "actionValue";
activityType: "activityType";
activityTypeValue: "activityTypeValue";
additionalSolutions: "additionalSolutions";
additionalSolutionsValue: "additionalSolutionsValue";
ageRange: "ageRange";
ageRangeValue: "ageRangeValue";
aiGenerated: "aiGenerated";
aiGeneratedValue: "aiGeneratedValue";
alias: "alias";
alignment: "alignment";
allowedBit: "allowedBit";
allowedBitValue: "allowedBitValue";
alt: "alt";
alternativeAnswers: "alternativeAnswers";
alternativeAnswersValue: "alternativeAnswersValue";
alternativeDefinitions: "alternativeDefinitions";
alternativeDefinitionsValue: "alternativeDefinitionsValue";
altLangTag: "altLangTag";
altLangTagValue: "altLangTagValue";
analyticsTag: "analyticsTag";
analyticsTagValue: "analyticsTagValue";
anchor: "anchor";
answer: "answer";
appLink: "appLink";
attrs: "attrs";
audio: "audio";
audioEmbed: "audioEmbed";
audioLink: "audioLink";
author: "author";
authorValue: "authorValue";
availableClassifications: "availableClassifications";
availableClassificationsValue: "availableClassificationsValue";
avatarImage: "avatarImage";
backgroundWallpaper: "backgroundWallpaper";
backgroundWallpaperValue: "backgroundWallpaperValue";
bitLevel: "bitLevel";
bitmarkAst: "bitmarkAst";
bitmarkVersion: "bitmarkVersion";
bits: "bits";
bitsValue: "bitsValue";
bitType: "bitType";
blockId: "blockId";
blockIdValue: "blockIdValue";
body: "body";
bodyBit: "bodyBit";
bodyBits: "bodyBits";
bodyJson: "bodyJson";
bodyParts: "bodyParts";
bodyPartsValue: "bodyPartsValue";
bodyPartText: "bodyPartText";
bodyText: "bodyText";
bodyValue: "bodyValue";
book: "book";
bookAlias: "bookAlias";
bookAliasValue: "bookAliasValue";
bookDiff: "bookDiff";
bookDiffValue: "bookDiffValue";
bookValue: "bookValue";
bot: "bot";
botResponses: "botResponses";
botResponsesValue: "botResponsesValue";
botValue: "botValue";
bubbleTag: "bubbleTag";
bubbleTagValue: "bubbleTagValue";
buttonCaption: "buttonCaption";
buttonCaptionValue: "buttonCaptionValue";
callToActionUrl: "callToActionUrl";
callToActionUrlValue: "callToActionUrlValue";
caption: "caption";
captionDefinitionList: "captionDefinitionList";
captionValue: "captionValue";
cardBits: "cardBits";
cardBitsValue: "cardBitsValue";
cardNode: "cardNode";
categoryTag: "categoryTag";
categoryTagValue: "categoryTagValue";
cells: "cells";
cellsValue: "cellsValue";
chatWithBook: "chatWithBook";
chatWithBookBrainKey: "chatWithBookBrainKey";
chatWithBookBrainKeyValue: "chatWithBookBrainKeyValue";
chatWithBookValue: "chatWithBookValue";
checked: "checked";
choice: "choice";
choices: "choices";
choicesValue: "choicesValue";
citationStyle: "citationStyle";
citationStyleValue: "citationStyleValue";
class: "class";
classification: "classification";
classificationValue: "classificationValue";
codeLineNumbers: "codeLineNumbers";
codeLineNumbersValue: "codeLineNumbersValue";
codeMinimap: "codeMinimap";
codeMinimapValue: "codeMinimapValue";
color: "color";
colorTag: "colorTag";
colorTagValue: "colorTagValue";
column: "column";
columns: "columns";
columnsValue: "columnsValue";
comment: "comment";
commentedBitType: "commentedBitType";
computerLanguage: "computerLanguage";
computerLanguageValue: "computerLanguageValue";
content: "contentValue";
content2Buy: "content2Buy";
contentValue: "contentValue";
contentValueValue: "contentValueValue";
copyright: "copyright";
coverColor: "coverColor";
coverColorValue: "coverColorValue";
coverImage: "coverImage";
coverImageValue: "coverImageValue";
customerExternalId: "customerExternalId";
customerId: "customerId";
customerIdValue: "customerIdValue";
data: "data";
dataValue: "dataValue";
dataValueValue: "dataValueValue";
date: "date";
dateEnd: "dateEnd";
dateEndValue: "dateEndValue";
dateValue: "dateValue";
decimalPlaces: "decimalPlaces";
deeplink: "deeplink";
deeplinkValue: "deeplinkValue";
definition: "definition";
definitions: "definitions";
definitionsValue: "definitionsValue";
diffContext: "diffContext";
diffContextValue: "diffContextValue";
diffOp: "diffOp";
diffOpValue: "diffOpValue";
diffRef: "diffRef";
diffRefValue: "diffRefValue";
diffTime: "diffTime";
diffTimeValue: "diffTimeValue";
diffTo: "diffTo";
diffToValue: "diffToValue";
disableCalculation: "disableCalculation";
disableFeedback: "disableFeedback";
disableFeedbackValue: "disableFeedbackValue";
document: "document";
documentDownload: "documentDownload";
documentEmbed: "documentEmbed";
documentLink: "documentLink";
duration: "duration";
durationValue: "durationValue";
elements: "elements";
elementsValue: "elementsValue";
emphasis: "emphasis";
end: "end";
errors: "errors";
errorsValue: "errorsValue";
example: "example";
exampleValue: "exampleValue";
externalId: "externalId";
externalIdValue: "externalIdValue";
externalLink: "externalLink";
externalLinkText: "externalLinkText";
extraProperties: "extraProperties";
feedback: "feedback";
feedbackEngine: "feedbackEngine";
feedbackEngineValue: "feedbackEngineValue";
feedbacks: "feedbacks";
feedbacksValue: "feedbacksValue";
feedbackType: "feedbackType";
flashcards: "flashcards";
flashcardSet: "flashcardSet";
flashcardSetValue: "flashcardSetValue";
flashcardsValue: "flashcardsValue";
focusX: "focusX";
focusXValue: "focusXValue";
focusY: "focusY";
focusYValue: "focusYValue";
footer: "footer";
footerText: "footerText";
forKeys: "forKeys";
format: "format";
forValues: "forValues";
forValuesValue: "forValuesValue";
fullName: "fullName";
fullNameValue: "fullNameValue";
gap: "gap";
groupTag: "groupTag";
groupTagValue: "groupTagValue";
handInAcceptFileType: "handInAcceptFileType";
handInAcceptFileTypeValue: "handInAcceptFileTypeValue";
handInInstruction: "handInInstruction";
handInInstructionValue: "handInInstructionValue";
handInRequirement: "handInRequirement";
handInRequirementValue: "handInRequirementValue";
hasBookNavigation: "hasBookNavigation";
hasBookNavigationValue: "hasBookNavigationValue";
hasMarkAsDone: "hasMarkAsDone";
hasMarkAsDoneValue: "hasMarkAsDoneValue";
heading: "heading";
height: "height";
heightValue: "heightValue";
highlight: "highlight";
hint: "hint";
href: "href";
icon: "icon";
iconTag: "iconTag";
iconTagValue: "iconTagValue";
iconValue: "iconValue";
id: "id";
idValue: "idValue";
image: "image";
imageFirst: "imageFirst";
imageFirstValue: "imageFirstValue";
imageLandscape: "imageLandscape";
imageLink: "imageLink";
imagePlaceholder: "imagePlaceholder";
imagePlaceholderValue: "imagePlaceholderValue";
imagePortrait: "imagePortrait";
imageSource: "imageSource";
index: "index";
indexValue: "indexValue";
ingredients: "ingredients";
ingredientsValue: "ingredientsValue";
instruction: "instruction";
internalComment: "internalComment";
internalCommentValue: "internalCommentValue";
isCaseSensitive: "isCaseSensitive";
isCommented: "isCommented";
isCorrect: "isCorrect";
isEditable: "isEditable";
isEditableValue: "isEditableValue";
isExample: "isExample";
isInfoOnly: "isInfoOnly";
isInfoOnlyValue: "isInfoOnlyValue";
isPlain: "isPlain";
isPublic: "isPublic";
isPublicValue: "isPublicValue";
isTemplate: "isTemplate";
isTemplateStripTheme: "isTemplateStripTheme";
isTemplateStripThemeValue: "isTemplateStripThemeValue";
isTemplateValue: "isTemplateValue";
isTracked: "isTracked";
isTrackedValue: "isTrackedValue";
item: "item";
itemLead: "itemLead";
jobTitle: "jobTitle";
jobTitleValue: "jobTitleValue";
jupyterExecutionCount: "jupyterExecutionCount";
jupyterExecutionCountValue: "jupyterExecutionCountValue";
jupyterId: "jupyterId";
jupyterIdValue: "jupyterIdValue";
key: "key";
keyAudio: "keyAudio";
keyImage: "keyImage";
kind: "kind";
kindValue: "kindValue";
label: "label";
labelFalse: "labelFalse";
labelFalseValue: "labelFalseValue";
labelTrue: "labelTrue";
labelTrueValue: "labelTrueValue";
lang: "lang";
language: "language";
languageValue: "languageValue";
langValue: "langValue";
layer: "layer";
layerRole: "layerRole";
layerRoleValue: "layerRoleValue";
layerValue: "layerValue";
lead: "lead";
level: "level";
levelACTFL: "levelACTFL";
levelACTFLValue: "levelACTFLValue";
levelCEFR: "levelCEFR";
levelCEFRp: "levelCEFRp";
levelCEFRpValue: "levelCEFRpValue";
levelCEFRValue: "levelCEFRValue";
levelILR: "levelILR";
levelILRValue: "levelILRValue";
license: "license";
line: "line";
list: "list";
listItemIndent: "listItemIndent";
listItemIndentValue: "listItemIndentValue";
listValue: "listValue";
location: "location";
locationValue: "locationValue";
machineTranslated: "machineTranslated";
machineTranslatedValue: "machineTranslatedValue";
mailingList: "mailingList";
marginNumber: "marginNumber";
mark: "mark";
markConfig: "markConfig";
markConfigValue: "markConfigValue";
marks: "marks";
marksValue: "marksValue";
markup: "markup";
matrix: "matrix";
matrixValue: "matrixValue";
maxCreatedBits: "maxCreatedBits";
maxCreatedBitsValue: "maxCreatedBitsValue";
maxDisplayLevel: "maxDisplayLevel";
maxDisplayLevelValue: "maxDisplayLevelValue";
maxTocChapterLevel: "maxTocChapterLevel";
maxTocChapterLevelValue: "maxTocChapterLevelValue";
message: "message";
mockupId: "mockupId";
name: "name";
offset: "offset";
options: "options";
optionsValue: "optionsValue";
original: "original";
padletId: "padletId";
padletIdValue: "padletIdValue";
page: "page";
pageNo: "pageNo";
pageNoValue: "pageNoValue";
pageNumber: "pageNumber";
pageValue: "pageValue";
pairs: "pairs";
pairsValue: "pairsValue";
parent: "parent";
parser: "parser";
partialAnswer: "partialAnswer";
partialAnswerValue: "partialAnswerValue";
path: "path";
pathValue: "pathValue";
person: "person";
pointerLeft: "pointerLeft";
pointerLeftValue: "pointerLeftValue";
pointerTop: "pointerTop";
pointerTopValue: "pointerTopValue";
posterImage: "posterImage";
posterImageValue: "posterImageValue";
postfix: "postfix";
prefix: "prefix";
processHandIn: "processHandIn";
processHandInLocation: "processHandInLocation";
processHandInLocationValue: "processHandInLocationValue";
processHandInValue: "processHandInValue";
product: "product";
productFolder: "productFolder";
productFolderValue: "productFolderValue";
productId: "productId";
productIdValue: "productIdValue";
productList: "productList";
productListValue: "productListValue";
productValue: "productValue";
productVideo: "productVideo";
productVideoList: "productVideoList";
productVideoListValue: "productVideoListValue";
productVideoValue: "productVideoValue";
progress: "progress";
progressValue: "progressValue";
pronunciationTable: "pronunciationTable";
properties: "properties";
property: "property";
propertyKey: "propertyKey";
propertyValue: "propertyValue";
propertyValues: "propertyValues";
provider: "provider";
pseudonym: "pseudonym";
pseudonymValue: "pseudonymValue";
publications: "publications";
publicationsValue: "publicationsValue";
publisher: "publisher";
publisherName: "publisherName";
publisherNameValue: "publisherNameValue";
publisherValue: "publisherValue";
quantity: "quantity";
question: "question";
questions: "questions";
questionsValue: "questionsValue";
quizCountItems: "quizCountItems";
quizCountItemsValue: "quizCountItemsValue";
quizStrikethroughSolutions: "quizStrikethroughSolutions";
quizStrikethroughSolutionsValue: "quizStrikethroughSolutionsValue";
quizzes: "quizzes";
quizzesValue: "quizzesValue";
quotedPerson: "quotedPerson";
ratingLevelEnd: "ratingLevelEnd";
ratingLevelSelected: "ratingLevelSelected";
ratingLevelSelectedValue: "ratingLevelSelectedValue";
ratingLevelStart: "ratingLevelStart";
reaction: "reaction";
reason: "reason";
reasonableNumOfChars: "reasonableNumOfChars";
reasonableNumOfCharsValue: "reasonableNumOfCharsValue";
reductionTag: "reductionTag";
reductionTagValue: "reductionTagValue";
refAuthor: "refAuthor";
refBookTitle: "refBookTitle";
reference: "reference";
referenceEnd: "referenceEnd";
referenceProperty: "referenceProperty";
referencePropertyValue: "referencePropertyValue";
refPublicationYear: "refPublicationYear";
refPublisher: "refPublisher";
releaseDate: "releaseDate";
releaseDateValue: "releaseDateValue";
releaseKind: "releaseKind";
releaseKindValue: "releaseKindValue";
releaseVersion: "releaseVersion";
releaseVersionValue: "releaseVersionValue";
reportTag: "reportTag";
reportTagValue: "reportTagValue";
resolved: "resolved";
resolvedBy: "resolvedBy";
resolvedByValue: "resolvedByValue";
resolvedDate: "resolvedDate";
resolvedDateValue: "resolvedDateValue";
resolvedValue: "resolvedValue";
resources: "resources";
resourcesValue: "resourcesValue";
resourceType: "resourceType";
response: "response";
responses: "responses";
responsesValue: "responsesValue";
revealSolutions: "revealSolutions";
root: "root";
sampleSolution: "sampleSolution";
sampleSolutionValue: "sampleSolutionValue";
scormSource: "scormSource";
scormSourceValue: "scormSourceValue";
search: "search";
searchIndex: "searchIndex";
searchIndexValue: "searchIndexValue";
searchValue: "searchValue";
section: "section";
select: "select";
servings: "servings";
servingsValue: "servingsValue";
showInIndex: "showInIndex";
showInIndexValue: "showInIndexValue";
size: "size";
slug: "slug";
slugValue: "slugValue";
solution: "solution";
solutions: "solutions";
solutionsValue: "solutionsValue";
spaceId: "spaceId";
spaceIdValue: "spaceIdValue";
src: "src";
src1x: "src1x";
src2x: "src2x";
src3x: "src3x";
src4x: "src4x";
start: "start";
statement: "statement";
statements: "statements";
statementsValue: "statementsValue";
statementText: "statementText";
stillImageFilmEmbed: "stillImageFilmEmbed";
stillImageFilmLink: "stillImageFilmLink";
stripePricingTableId: "stripePricingTableId";
stripePricingTableIdValue: "stripePricingTableIdValue";
stripePublishableKey: "stripePublishableKey";
stripePublishableKeyValue: "stripePublishableKeyValue";
subject: "subject";
subjectValue: "subjectValue";
subtitle: "subtitle";
subtype: "subtype";
subtypeValue: "subtypeValue";
table: "table";
tableAutoWidth: "tableAutoWidth";
tableAutoWidthValue: "tableAutoWidthValue";
tableColumnMinWidth: "tableColumnMinWidth";
tableColumnMinWidthValue: "tableColumnMinWidthValue";
tableFixedHeader: "tableFixedHeader";
tableFixedHeaderValue: "tableFixedHeaderValue";
tableHeaderWhitespaceNoWrap: "tableHeaderWhitespaceNoWrap";
tableHeaderWhitespaceNoWrapValue: "tableHeaderWhitespaceNoWrapValue";
tableHeight: "tableHeight";
tableHeightValue: "tableHeightValue";
tablePagination: "tablePagination";
tablePaginationLimit: "tablePaginationLimit";
tablePaginationLimitValue: "tablePaginationLimitValue";
tablePaginationValue: "tablePaginationValue";
tableResizableColumns: "tableResizableColumns";
tableResizableColumnsValue: "tableResizableColumnsValue";
tableSearch: "tableSearch";
tableSearchValue: "tableSearchValue";
tableSort: "tableSort";
tableSortValue: "tableSortValue";
tableWhitespaceNoWrap: "tableWhitespaceNoWrap";
tableWhitespaceNoWrapValue: "tableWhitespaceNoWrapValue";
tag: "tag";
tagValue: "tagValue";
target: "target";
targetValue: "targetValue";
technicalTerm: "technicalTerm";
technicalTermValue: "technicalTermValue";
term: "term";
text: "text";
textAlign: "textAlign";
textAst: "textAst";
textAstValue: "textAstValue";
textFormat: "textFormat";
textReference: "textReference";
textReferenceValue: "textReferenceValue";
texts: "texts";
textsValue: "textsValue";
theme: "theme";
themeValue: "themeValue";
thumbImage: "thumbImage";
thumbImageValue: "thumbImageValue";
thumbnails: "thumbnails";
thumbnailsValue: "thumbnailsValue";
title: "title";
titleString: "titleString";
toc: "toc";
tocContent: "tocContent";
tocContentValue: "tocContentValue";
tocResource: "tocResource";
tocResourceValue: "tocResourceValue";
tocValue: "tocValue";
topicTag: "topicTag";
topicTagValue: "topicTagValue";
trim: "trim";
type: "type";
unit: "unit";
unitAbbr: "unitAbbr";
url: "url";
value: "value";
values: "values";
valuesValue: "valuesValue";
vendorDashboardId: "vendorDashboardId";
vendorDashboardIdValue: "vendorDashboardIdValue";
vendorSurveyId: "vendorSurveyId";
vendorSurveyIdValue: "vendorSurveyIdValue";
vendorUrl: "vendorUrl";
vendorUrlValue: "vendorUrlValue";
version: "version";
video: "video";
videoCallLink: "videoCallLink";
videoCallLinkValue: "videoCallLinkValue";
videoEmbed: "videoEmbed";
videoLink: "videoLink";
warnings: "warnings";
warningsValue: "warningsValue";
websiteLink: "websiteLink";
width: "width";
widthValue: "widthValue";
x: "x";
xValue: "xValue";
y: "y";
yValue: "yValue";
zoomDisabled: "zoomDisabled";
}>>;
type NodeTypeType = EnumType<typeof NodeType>;
/**
* AST tree node information
*/
interface NodeInfo {
/**
* Child index of the node
*/
index: number;
/**
* Node key
*/
key: NodeTypeType;
/**
* Node value (if any)
*/
value?: any;
}
/**
* Callbacks for walking the AST
*/
interface AstWalkCallbacks<C = undefined> {
/**
* Called when a branch node is entered
*
* @param node - this node info
* @param route - route to this node from the root
* @returns
*/
enter?: (node: NodeInfo, route: NodeInfo[], context: C) => void | boolean;
/**
* Called when between child nodes
*
* @param node - this node info (the parent of the children in leftNode / rightNode)
* @param leftNode - the left (previous) child node info
* @param rightNode - the right (next) child node info
* @param route
* @returns
*/
between?: (node: NodeInfo, leftNode: NodeInfo, rightNode: NodeInfo, route: NodeInfo[], context: C) => void | boolean;
/**
* Called when a branch node is exited
* @param node - this node info
* @param route - route to this node from the root
* @returns
*/
exit?: (node: NodeInfo, route: NodeInfo[], context: C) => void;
/**
* Called when a leaf node is entered
* @param node - this node info
* @param route - route to this node from the root
* @returns
*/
leaf?: (node: NodeInfo, route: NodeInfo[], context: C) => void;
}
/**
* An AST (Abstract Syntax Tree) implementation for the bitmark language
*/
declare class Ast {
constructor();
/**
* Walk bitmark AST, decending each branch and calling callbacks when entering, leaving, and when in between child
* nodes.
*
* Walking the tree can be used to convert it to another format (e.g. bitmark markup or JSON or text) or for analysis.
*
* The tree is navigated from root to leaf, decending each branch greedily.
*
* e.g. for the tree:
* ```
* A
* |__B1
* | |__C1
* | |__C2
* |__B2
* |__C3
*
* Enter A1
* Enter B1
* Leaf C1
* Betwe B1 (C1, C2)
* Leaf C2
* Exit B1
* Betwe A1 (B1, B2)
* Enter B2
* Leaf C3
* Exit B2
* Exit A1
* ```
*
* @param context - context object to pass to callbacks
* @param ast - bitmark / text AST
* @param type - type of AST to walk (i.e. NodeType.bitmarkAst, NodeType.textAst)
* @param callbacks - set of callbacks to call while walking the tree
*/
walk<C>(ast: Node, type: NodeTypeType, callbacks: AstWalkCallbacks<C>, context: C): void;
/**
* Convert a route to a unique key that describes that route.
*
* For the route A1 -> B4 -> C2 the route key would be A1_B4_C2
*
* @param route - the tree path from the root to the curent node
* @returns
*/
getRouteKey(route: NodeInfo[]): string;
/**
* Print an AST to the console.
* Useful for debug / development purposes
*
* @param ast - AST
* @param rootKey - root node key
*/
printTree(ast: Node, rootKey?: NodeTypeType): void;
/**
* Preprocess bitmark AST into a standard format (BitmarkAst object) from bitmark AST either as a string
* or a plain JS object
*
* @param ast - bitmark AST as a string or a plain JS object
* @returns bitmark AST in a standard format (BitmarkAst object)
*/
preprocessAst(ast: string | unknown): BitmarkAst | undefined;
/**
* Check if a plain JS object is valid AST
*
* @param ast - a plain JS object that might be AST
* @returns true if AST, otherwise false
*/
isAst(ast: unknown): boolean;
private walkRecursive;
private getAstKey;
private isArray;
private isObject;
private isValue;
}
declare const BodyTextFormat: Readonly<{
plainText: "text";
latex: "latex";
json: "json";
xml: "xml";
bitmarkPlusPlus: "bitmark++";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
plainText: "text";
latex: "latex";
json: "json";
xml: "xml";
bitmarkPlusPlus: "bitmark++";
}>>;
type BodyTextFormatType = EnumType<typeof BodyTextFormat>;
/**
* The location of text.
*
* The location of the text affects how breakscaping is applied.
*/
declare const TextLocation: Readonly<{
tag: "tag";
body: "body";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
tag: "tag";
body: "body";
}>>;
type TextLocationType = EnumType<typeof TextLocation>;
/**
* Configuration options for breakscape and unbreakscape operations.
*
* @public
*/
interface BreakscapeOptions$1 {
/**
* The text format to use for processing.
* @defaultValue TextFormat.bitmarkPlusPlus
*/
format?: BodyTextFormatType;
/**
* The text location context for processing.
* @defaultValue TextLocation.body
*/
location?: TextLocationType;
/**
* Whether to mutate the input array in-place when processing arrays.
* If false, a new array will be created.
* @defaultValue false
*/
inPlaceArray?: boolean;
/**
* Legacy: if true, perform v2 breakscaping from JSON
*/
v2?: boolean;
}
type BreakscapedString = string & {
readonly __isBreakscaped: unique symbol;
};
declare const BitmarkVersion: Readonly<{
v2: 2;
v3: 3;
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
v2: 2;
v3: 3;
}>>;
type BitmarkVersionType = EnumType<typeof BitmarkVersion>;
interface Generator<T extends Node, R = void> {
generate: (ast: T, param1?: unknown, param2?: unknown) => Promise<R>;
generateSync: (ast: T, param1?: unknown, param2?: unknown) => R;
}
/**
* Generator that walks bitmark AST.
*
* The implementation should implement functions with the correct naming, and these will be called when
* walking the AST:
*
* enter_<nodeKey>() - called when entering a branch node
* between_<nodeKey>() - called when between child nodes
* exit_<nodeKey>() - called when exiting a branch node
* leaf_<nodeKey>() - called when entering a leaf node
*/
declare abstract class AstWalkerGenerator<AstType, R, Context = undefined> implements Generator<AstType, R>, AstWalkCallbacks<Context> {
protected ast: Ast;
protected debugGenerationInline: boolean;
protected printed: boolean;
abstract generate(ast: AstType, param1?: unknown, param2?: unknown): Promise<R>;
abstract generateSync(ast: AstType, param1?: unknown, param2?: unknown): R;
enter(node: NodeInfo, route: NodeInfo[], context: Context): boolean | void;
between(node: NodeInfo, left: NodeInfo, right: NodeInfo, route: NodeInfo[], context: Context): boolean | void;
exit(node: NodeInfo, route: NodeInfo[], context: Context): void;
leaf(node: NodeInfo, route: NodeInfo[], context: Context): void;
protected getParentNode(route: NodeInfo[], nodesBack?: number): NodeInfo | undefined;
protected abstract writeInlineDebug(key: string, state: {
open?: boolean;
close?: boolean;
single?: boolean;
}): void;
}
/**
* Text generation options
*/
interface TextOptions {
/**
* Callback for writing text
*
* If set, the callback will be called, rather than writing to the output string
*/
writeCallback?: WriteCallback;
/**
* Callback for rendering body bits
*/
bodyBitCallback?: BodyBitCallback;
/**
* [development only]
* Generate debug information in the output.
*/
debugGenerationInline?: boolean;
}
type GenerateOptions = {
plainTextDividerAllowed?: boolean;
noBreakscaping?: boolean;
};
declare const Stage: {
enter: string;
between: string;
exit: string;
};
type StageType = EnumType<typeof Stage>;
type WriteCallback = (s: string) => void;
type BodyBitCallback = (bodyBit: BodyBitJson, index: number, route: NodeInfo[]) => string;
interface MediaAttributeOptions {
ignoreAttributes?: Set<string>;
}
/**
* Generate text from a bitmark text AST
*/
declare class TextGenerator extends AstWalkerGenerator<TextAst, BreakscapedString> {
protected ast: Ast;
private bitmarkVersion;
private options;
private generateOptions;
private textFormat;
private textLocation;
private writerText;
private nodeIndex;
private currentIndent;
private prevIndent;
private indentationStringCache;
private inParagraph;
private inHeading;
private inCodeBlock;
private exitedCodeBlock;
private inBulletList;
private inInline;
private textDepth;
private placeholderIndex;
private placeholders;
private rootParagraphNodeContentIndex;
private previousRootParagraphContextType;
private inPreText;
private thisNodeIsPreText;
private preTextIndexTemp;
private havePreText;
private preTextIndex;
/**
* Generate text from a bitmark text AST
*
* @param bitmarkVersion - bitmark version, use null to use latest version
* @param options - text generation options
*/
constructor(bitmarkVersion?: BitmarkVersionType, options?: TextOptions);
/**
* Generate text from a bitmark text AST
*
* @param ast bitmark text AST
*/
generate(ast: TextAst, textFormat: TextFormatType, textLocation: TextLocationType, options?: GenerateOptions): Promise<BreakscapedString>;
/**
* Generate text from a bitmark text AST synchronously
*
* @param ast bitmark text AST
*/
generateSync(ast: TextAst, textFormat: TextFormatType, textLocation: TextLocationType, options?: GenerateOptions): BreakscapedString;
getPlaceholders(): BodyBitsJson;
private resetState;
private walkAndWrite;
protected enter_textAstValue(node: NodeInfo, route: NodeInfo[]): void | false;
protected between_textAstValue(node: NodeInfo, left: NodeInfo, right: NodeInfo, route: NodeInfo[]): void | false;
protected exit_textAstValue(node: NodeInfo, route: NodeInfo[]): void | false;
protected enter_contentValue(node: NodeInfo, route: NodeInfo[]): void | false;
protected between_contentValue(node: NodeInfo, left: NodeInfo, right: NodeInfo, route: NodeInfo[]): void;
protected exit_contentValue(node: NodeInfo, route: NodeInfo[]): void | false;
protected enter_contentValueValue(node: NodeInfo, route: NodeInfo[]): void | false;
protected between_contentValueValue(node: NodeInfo, left: NodeInfo, right: NodeInfo, route: NodeInfo[]): void;
protected exit_contentValueValue(node: NodeInfo, route: NodeInfo[]): void | false;
protected handleEnterNode(node: TextNode, route: NodeInfo[]): void | false;
protected handleBetweenNode(node: TextNode, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected handleExitNode(node: TextNode, _route: NodeInfo[]): void | false;
protected handleIndent(node: TextNode): void;
protected handleDedent(node: TextNode): void;
protected handleEnterContentValueNode(_node: NodeInfo, route: NodeInfo[]): void | false;
protected handleBetweenContentValueNode(_node: NodeInfo, left: NodeInfo, _right: NodeInfo, route: NodeInfo[]): void;
protected handleExitContentValueNode(_node: NodeInfo, route: NodeInfo[]): void | false;
private updatePreTextState;
protected handleEnterNodePreTextCheck(node: TextNode, route: NodeInfo[]): void;
/**
* Check if a text node has a link mark, and if so, return the href
*
* @param node the node to check for a link mark
* @returns the href, or false if no link mark
*/
protected getLinkHref(node: TextNode): string | false;
/**
* Get the current indentation string
* @returns
*/
protected getIndentationString(): string;
protected writeBodyBit(node: TextNode, route: NodeInfo[]): void;
protected writeText(node: TextNode): void;
/**
* Check if a node is a link node and if so and the node has only the link mark, and the link without the
* protocol is the same as the text, return true. Otherwise return false.
*
* @param node
* @returns true if a simple link, otherwise false
*/
protected isSimpleLink(node: TextNode): boolean;
/**
* Get the link text if the node is a link, otherwise return false
*
* @param node
* @returns
*/
protected getLinkText(node: TextNode): string | false;
/**
* If the existing written text ends with a half-mark, and the new text starts with the same half-mark, insert a
* breakscape ^ between them to break the sequence.
*
* Only applies to bitmark version > 2
*
* @param s
*/
protected getInterTextBreakscape(s: string): string;
protected validateGenerateOptions(ast: TextNode[]): void;
/**
* Write the marks for the node.
*
* All marks need to be considered at once, because if there are multiple marks, they need to be written in
* a combined manner.
*
* e.g. if there are bold and italic marks, they need to be written as
*
* ==the text==|bold|italic|
* rather than
* **__the text__**
* or
* **__the text**__
*
* @param node the text node
* @param start true if starting (before) the text, false if ending (after) the text
*/
protected writeMarks(node: TextNode, stage: StageType): void;
protected writeParagraph(node: TextNode): void;
protected writeHardBreak(_node: TextNode): void;
protected writeHeading(node: HeadingTextNode): void;
protected writeSection(node: SectionTextNode): void;
protected writeBullet(node: TextNode, route: NodeInfo[]): void;
protected writeImage(node: ImageTextNode | ImageInlineTextNode): void;
protected writeCodeBlock(node: CodeBlockTextNode): void;
protected writeLatex(node: LatexTextNode): void;
protected writeMarkTextWrapper(s: string): void;
protected writeInlineMark(mark: TextMark): void;
protected writeCommentMark(mark: CommentMark): void;
protected writeLinkMark(mark: LinkMark): void;
protected writeRefMark(mark: RefMark): void;
protected writeXRefMark(mark: XRefMark): void;
protected writeExtRefMark(mark: ExtRefMark): void;
protected writeFootnoteMark(_mark: FootnoteMark): void;
protected writeFootnoteStarMark(_mark: FootnoteMark): void;
protected writeSymbolMark(mark: SymbolMark): void;
protected writeInlineMarkStartEnd(): void;
protected writePlainTextDivider(): void;
protected writeString(s?: string): void;
protected writeNL(): void;
protected writeInlineDebug(key: string, state: {
open?: boolean;
close?: boolean;
single?: boolean;
}): void;
protected getMediaAttrs(mediaType: string, attrs: MediaAttributes, options?: MediaAttributeOptions): string | undefined;
protected breakscape(s: string, options: BreakscapeOptions$1): string;
protected getBitType(route: NodeInfo[]): BitTypeType | undefined;
/**
* Writes a string value to the output.
* @param value - The string value to be written.
*/
write(value: string): this;
/**
* Writes a new line to the output. The line is indented automatically. The line is ended with the endOfLineString.
* @param value - The line to write. When omitted, only the endOfLineString is written.
*/
writeLine(value?: string): this;
/**
* Writes a collection of lines to the output. Each line is indented automatically and ended with the endOfLineString.
* @param values - The lines to write.
* @param delimiter - An optional delimiter to be written at the end of each line, except for the last one.
*/
writeLines(values: string[], delimiter?: string): this;
/**
* Writes a single whitespace character to the output.
*/
writeWhiteSpace(): this;
}
declare const ExampleType: Readonly<{
none: "none";
string: "string";
boolean: "boolean";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
none: "none";
string: "string";
boolean: "boolean";
}>>;
type ExampleTypeType = EnumType<typeof ExampleType>;
declare const Count: Readonly<{
infinity: "infinity";
}> & _ncoderz_superenum.EnumExtensions<"infinity">;
type CountType = EnumType<typeof Count> | number;
declare const Tag: Readonly<{
readonly tag_title: "#";
readonly tag_anchor: "▼";
readonly tag_reference: "►";
readonly tag_property: "@";
readonly tag_item: "%";
readonly tag_instruction: "!";
readonly tag_hint: "?";
readonly tag_true: "+";
readonly tag_false: "-";
readonly tag_sampleSolution: "$";
readonly tag_gap: "_";
readonly tag_mark: "=";
readonly tag_resource: "&";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
readonly tag_title: "#";
readonly tag_anchor: "▼";
readonly tag_reference: "►";
readonly tag_property: "@";
readonly tag_item: "%";
readonly tag_instruction: "!";
readonly tag_hint: "?";
readonly tag_true: "+";
readonly tag_false: "-";
readonly tag_sampleSolution: "$";
readonly tag_gap: "_";
readonly tag_mark: "=";
readonly tag_resource: "&";
}>>;
type TagType = EnumType<typeof Tag>;
declare abstract class AbstractTagConfig {
readonly type: BitTagConfigKeyTypeType;
readonly configKey: ConfigKeyType;
readonly tag: string;
readonly maxCount: CountType;
readonly minCount: number;
readonly chain?: TagsConfig;
readonly jsonKey?: string;
readonly deprecated?: string;
constructor(params: {
type: BitTagConfigKeyTypeType;
configKey: ConfigKeyType;
tag: string;
maxCount: CountType;
minCount: number;
chain: TagsConfig | undefined;
jsonKey: string | undefined;
deprecated: string | undefined;
});
}
interface ToStringOptions$5 {
includeChains?: boolean;
includeConfigs?: boolean;
}
declare class MarkupTagConfig extends AbstractTagConfig {
readonly type: BitTagConfigKeyTypeType;
constructor(params: {
configKey: ConfigKeyType;
tag: TagType;
maxCount: CountType;
minCount: number;
chain: TagsConfig | undefined;
deprecated: string | undefined;
});
toString(options?: ToStringOptions$5): string;
}
declare const TagFormat: Readonly<{
none: "none";
plainText: "plainText";
bitmarkText: "bitmarkText";
number: "number";
boolean: "boolean";
invertedBoolean: "invertedBoolean";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
none: "none";
plainText: "plainText";
bitmarkText: "bitmarkText";
number: "number";
boolean: "boolean";
invertedBoolean: "invertedBoolean";
}>>;
type TagFormatType = EnumType<typeof TagFormat>;
interface ToStringOptions$4 {
includeChains?: boolean;
includeConfigs?: boolean;
}
declare class PropertyTagConfig extends AbstractTagConfig {
readonly type: BitTagConfigKeyTypeType;
readonly array?: boolean;
readonly format?: TagFormatType;
readonly defaultValue?: string;
constructor(params: {
configKey: ConfigKeyType;
tag: string;
maxCount: CountType;
minCount: number;
chain: TagsConfig | undefined;
jsonKey: string | undefined;
format: TagFormatType | undefined;
defaultValue: string | undefined;
deprecated: string | undefined;
});
toString(options?: ToStringOptions$4): string;
}
interface ToStringOptions$3 {
includeChains?: boolean;
includeConfigs?: boolean;
}
declare class ResourceTagConfig extends AbstractTagConfig {
readonly type: BitTagConfigKeyTypeType;
constructor(params: {
configKey: ConfigKeyType;
tag: string;
maxCount: CountType;
minCount: number;
chain: TagsConfig | undefined;
jsonKey: string | undefined;
deprecated: string | undefined;
});
toString(options?: ToStringOptions$3): string;
}
type TagConfig = MarkupTagConfig | PropertyTagConfig | ResourceTagConfig;
interface TagsConfig {
[configKey: string]: TagConfig;
}
interface ToStringOptions$2 {
includeChains?: boolean;
includeConfigs?: boolean;
}
declare class CardVariantConfig {
tags: TagsConfig;
bodyAllowed?: boolean;
bodyRequired?: boolean;
repeatCount?: CountType;
constructor(tags: TagsConfig, bodyAllowed?: boolean, bodyRequired?: boolean, repeatCount?: CountType);
toString(options?: ToStringOptions$2): string;
}
declare const CardSetConfigKey: Readonly<{
flashcard: "flashcard";
definitionList: "definitionList";
elements: "elements";
statements: "statements";
quiz: "quiz";
feedback: "feedback";
questions: "questions";
matchPairs: "matchPairs";
matchAudioPairs: "matchAudioPairs";
matchImagePairs: "matchImagePairs";
matchMatrix: "matchMatrix";
table: "table";
pronunciationTable: "pronunciationTable";
botActionResponses: "botActionResponses";
exampleBitList: "exampleBitList";
clozeList: "clozeList";
ingredients: "ingredients";
bookReferenceList: "bookReferenceList";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
flashcard: "flashcard";
definitionList: "definitionList";
elements: "elements";
statements: "statements";
quiz: "quiz";
feedback: "feedback";
questions: "questions";
matchPairs: "matchPairs";
matchAudioPairs: "matchAudioPairs";
matchImagePairs: "matchImagePairs";
matchMatrix: "matchMatrix";
table: "table";
pronunciationTable: "pronunciationTable";
botActionResponses: "botActionResponses";
exampleBitList: "exampleBitList";
clozeList: "clozeList";
ingredients: "ingredients";
bookReferenceList: "bookReferenceList";
}>>;
type CardSetConfigKeyType = EnumType<typeof CardSetConfigKey>;
interface ToStringOptions$1 {
includeChains?: boolean;
includeConfigs?: boolean;
}
declare class CardSetConfig {
readonly configKey: CardSetConfigKeyType;
readonly variants: CardVariantConfig[][];
constructor(configKey: CardSetConfigKeyType, variants: CardVariantConfig[][]);
toString(options?: ToStringOptions$1): string;
}
interface ToStringOptions {
includeChains?: boolean;
includeConfigs?: boolean;
}
declare class BitConfig {
readonly since: string;
readonly bitType: BitTypeType;
readonly inheritedBitTypes: BitTypeType[];
readonly inheritedBitTypesSet: Set<BitTypeType>;
readonly textFormatDefault: TextFormatType;
readonly tags: TagsConfig;
readonly cardSet?: CardSetConfig;
readonly quizBit?: boolean;
readonly deprecated?: string;
readonly bodyAllowed?: boolean;
readonly bodyRequired?: boolean;
readonly footerAllowed?: boolean;
readonly footerRequired?: boolean;
readonly resourceAttachmentAllowed?: boolean;
readonly rootExampleType?: ExampleTypeType;
readonly comboResourceConfigKey?: ConfigKeyType;
constructor(config: {
since: string;
bitType: BitTypeType;
inheritedBitTypes: BitTypeType[];
textFormatDefault: TextFormatType;
tags: TagsConfig;
cardSet: CardSetConfig | undefined;
quizBit: boolean | undefined;
deprecated: string | undefined;
bodyAllowed: boolean | undefined;
bodyRequired: boolean | undefined;
footerAllowed: boolean | undefined;
footerRequired: boolean | undefined;
resourceAttachmentAllowed: boolean | undefined;
rootExampleType: ExampleTypeType | undefined;
comboResourceConfigKey: ConfigKeyType | undefined;
});
toString(options?: ToStringOptions): string;
}
interface BitmarkTextParserOptions {
format: TextFormatType;
location: TextLocationType;
}
declare class TextParser {
/**
* Get the version of the text parser
*/
version(): string;
/**
* Preprocess bitmark text AST into a standard format (TextAst object) from bitmark text AST either as a string
* or a plain JS object
*
* @param ast - bitmark text AST as a string or a plain JS object
* @returns bitmark text AST in a standard format (BitmarkAst object)
*/
preprocessAst(ast: string | unknown): TextAst | undefined;
/**
* Check if a plain JS object is valid text AST
*
* @param ast - a plain JS object that might be text AST
* @returns true if text AST, otherwise false
*/
isAst(ast: unknown): boolean;
/**
* Convert Bitmark text to text AST.
*
* The Bitmark text should be a string.
* If parsed bitmark text AST is passed to this function, it will be returned as is.
*
* @param text - bitmark text
* @returns bitmark text AST as plain JS object
*/
toAst(text: string | TextAst | undefined, options: BitmarkTextParserOptions): TextAst;
/**
* Extract all the body bits from the text AST
*
* @param text
* @returns
*/
extractBodyBits(text: JsonText): BodyBitJson[];
/**
* Walk all the body bits from the text AST
*
* @param text
* @returns
*/
walkBodyBits(text: JsonText, callback: (parent: TextAst, index: number, bodyBit: BodyBitJson) => void): void;
}
interface WithExampleJson {
isExample: boolean;
example: ExampleJson;
__defaultExample?: ExampleJson;
}
interface BuildContext {
bitConfig: BitConfig;
bitType: BitTypeType;
textFormat: TextFormatType;
}
interface ToAstPropertyOptions {
cardSet?: {
sideNo: number;
variantNo: number;
};
}
declare class BaseBuilder {
protected textParser: TextParser;
protected textGenerator: TextGenerator;
constructor();
/**
* Convert example to an Example.
* - If example is set, then the isExample will be true and example with be example as a BreakscapedText.
* - Else if __isDefaultExample is true, then __isDefaultExample / isExample will both be true.
* - Else __isDefaultExample / isExample will both be false.
*
* @param __isDefaultExample - true if the example is the default value
* @param example - the example to convert (BreakscapedText, boolean) or undefined if none / default
* @returns example/__isDefaultExample resolved to an Example object
*/
protected toExample(__isDefaultExample: boolean | undefined, example: TextAst | string | boolean | undefined | null, defaultExample?: TextAst | string | boolean | undefined | null): WithExampleJson;
/**
* Convert a raw bitmark property to an AST property.
*
* @param key
* @param value
* @param options
* @returns
*/
protected toAstProperty(bitType: BitTypeType, key: ConfigKeyType, value: unknown | unknown[] | undefined, options: ToAstPropertyOptions | undefined): Property | undefined;
protected getEmptyTextAst(context: BuildContext): TextAst;
/**
* Convert the JsonText from the JSON to the AST format:
* Input:
* - Bitmark v2: breakscaped string
* - Bitmark v3: bitmark text JSON (TextAst)
* Output:
* - bitmark text JSON (TextAst) with __tag property to indicate item is text
*
* In the case of Bitmark v2 type texts, there is nothing to do but cast the type.
*
* @param context BuildContext
* @param textFormat format of TextAst
* @param textLocation location of the text (body, tag, etc.)
* @param text JsonText or JsonText[] to convert
* @returns Breakscaped string or breakscaped string[]
*/
protected handleJsonText<T extends JsonText | JsonText[] | undefined, R = T extends JsonText[] ? TextAst[] : TextAst>(context: BuildContext, textLocation: TextLocationType, text: T): R;
}
interface BuildBitOptions {
cardSet?: {
sideNo: number;
variantNo: number;
};
}
/**
* Builder to build bitmark AST node programmatically
*/
declare class Builder extends BaseBuilder {
private resourceBuilder;
/**
* Build bitmark node
*
* @param data - data for the node
* @returns
*/
buildBitmark(data: {
bits?: Bit[];
errors?: ParserError[];
}): BitmarkAst;
/**
* Build bit node
*
* @param data - data for the node
* @returns
*/
buildBit(data: {
bitType: BitTypeType;
bitLevel: number;
textFormat?: TextFormatType;
resourceType?: ResourceTypeType;
isCommented?: boolean;
id?: string | string[];
internalComment?: string | string[];
customerId?: string;
customerExternalId?: string | string[];
externalId?: string | string[];
spaceId?: string | string[];
padletId?: string;
jupyterId?: string;
jupyterExecutionCount?: number;
isPublic?: boolean;
isTemplate?: boolean;
isTemplateStripTheme?: boolean;
isEditable?: boolean;
aiGenerated?: boolean;
machineTranslated?: string;
searchIndex?: string | string[];
analyticsTag?: string | string[];
categoryTag?: string | string[];
topicTag?: string | string[];
reportTag?: string | string[];
altLangTag?: string;
feedbackEngine?: string;
feedbackType?: string;
disableFeedback?: boolean;
diffTo?: string;
diffOp?: string;
diffRef?: string;
diffContext?: string;
diffTime?: number;
path?: string;
releaseVersion?: string;
releaseKind?: string;
releaseDate?: string;
ageRange?: number | number[];
lang?: string;
language?: string | string[];
publisher?: string | string[];
publisherName?: string;
theme?: string | string[];
computerLanguage?: string;
target?: string | string[];
slug?: string;
tag?: string | string[];
groupTag?: Partial<GroupTagJson> | Partial<GroupTagJson>[];
reductionTag?: string | string[];
bubbleTag?: string | string[];
levelCEFRp?: string | string[];
levelCEFR?: string | string[];
levelILR?: string | string[];
levelACTFL?: string | string[];
icon?: string;
iconTag?: string;
colorTag?: string | string[];
flashcardSet?: string | string[];
subtype?: string;
bookAlias?: string | string[];
bookDiff?: string;
coverImage?: string | string[];
coverColor?: string;
publications?: string | string[];
author?: string | string[];
subject?: string | string[];
date?: string;
dateEnd?: string;
location?: string;
kind?: string;
hasMarkAsDone?: boolean;
processHandIn?: boolean;
processHandInLocation?: string;
chatWithBook?: boolean;
chatWithBookBrainKey?: string;
action?: string;
showInIndex?: boolean;
refAuthor?: string | string[];
refBookTitle?: string;
refPublisher?: string | string[];
refPublicationYear?: string;
citationStyle?: string;
blockId?: string;
pageNo?: number;
x?: number;
y?: number;
width?: string;
height?: string;
index?: number;
classification?: string;
availableClassifications?: string | string[];
allowedBit?: string | string[];
tableFixedHeader?: boolean;
tableHeaderWhitespaceNoWrap?: boolean;
tableSearch?: boolean;
tableSort?: boolean;
tablePagination?: boolean;
tablePaginationLimit?: number;
tableHeight?: number;
tableWhitespaceNoWrap?: boolean;
tableAutoWidth?: boolean;
tableResizableColumns?: boolean;
tableColumnMinWidth?: number;
quizCountItems?: boolean;
quizStrikethroughSolutions?: boolean;
codeLineNumbers?: boolean;
codeMinimap?: boolean;
stripePricingTableId?: string;
stripePublishableKey?: string;
thumbImage?: string;
scormSource?: string;
posterImage?: string;
focusX?: number;
focusY?: number;
pointerLeft?: string;
pointerTop?: string;
listItemIndent?: number;
backgroundWallpaper?: Partial<ImageResourceWrapperJson>;
hasBookNavigation?: boolean;
duration?: string;
referenceProperty?: string | string[];
deeplink?: string | string[];
externalLink?: string;
externalLinkText?: string;
videoCallLink?: string;
vendorDashboardId?: string;
vendorSurveyId?: string;
vendorUrl?: string;
search?: string;
bot?: string | string[];
fullName?: string;
pseudonym?: string;
titleString?: string;
jobTitle?: string;
list?: string | string[];
layer?: string | string[];
layerRole?: string | string[];
textReference?: string;
isTracked?: boolean;
isInfoOnly?: boolean;
imageFirst?: boolean;
activityType?: string;
labelTrue?: string;
labelFalse?: string;
content2Buy?: string;
mailingList?: string;
buttonCaption?: string;
callToActionUrl?: string;
caption?: JsonText;
quotedPerson?: string;
reasonableNumOfChars?: number;
resolved?: boolean;
resolvedDate?: string;
resolvedBy?: string;
handInAcceptFileType?: string | string[];
handInRequirement?: string | string[];
handInInstruction?: string;
maxCreatedBits?: number;
maxDisplayLevel?: number;
maxTocChapterLevel?: number;
tocResource?: string | string[];
tocContent?: string | string[];
page?: string | string[];
productId?: string | string[];
product?: string | string[];
productVideo?: string | string[];
productFolder?: string;
technicalTerm?: Partial<TechnicalTermJson>;
servings?: Partial<ServingsJson>;
ratingLevelStart?: Partial<RatingLevelStartEndJson>;
ratingLevelEnd?: Partial<RatingLevelStartEndJson>;
ratingLevelSelected?: number;
partialAnswer?: string;
book?: string | BookJson[];
title?: JsonText;
subtitle?: JsonText;
level?: number | string;
toc?: boolean;
progress?: boolean;
anchor?: string;
reference?: string;
referenceEnd?: string;
revealSolutions?: boolean;
isCaseSensitive?: boolean;
item?: JsonText;
lead?: JsonText;
pageNumber?: JsonText;
marginNumber?: JsonText;
hint?: JsonText;
instruction?: JsonText;
example?: Partial<ExampleJson>;
imageSource?: Partial<ImageSourceJson>;
person?: Partial<PersonJson>;
extraProperties?: {
[key: string]: unknown | unknown[];
};
markConfig?: Partial<MarkConfigJson>[];
imagePlaceholder?: Partial<ImageResourceWrapperJson>;
resources?: Partial<ResourceJson> | Partial<ResourceJson>[];
body?: Partial<Body>;
sampleSolution?: string;
additionalSolutions?: string | string[];
heading?: Partial<HeadingJson>;
elements?: string[];
flashcards?: Partial<FlashcardJson>[];
definitions?: Partial<DefinitionListItemJson>[];
legend?: Partial<DefinitionListItemJson>[];
statement?: Partial<StatementJson>;
statements?: Partial<StatementJson>[];
responses?: Partial<ResponseJson>[];
quizzes?: Partial<QuizJson>[];
pairs?: Partial<PairJson>[];
matrix?: Partial<MatrixJson>[];
pronunciationTable?: Partial<PronunciationTableJson>;
table?: Partial<TableJson>;
choices?: Partial<ChoiceJson>[];
questions?: Partial<QuestionJson>[];
botResponses?: Partial<BotResponseJson>[];
ingredients?: Partial<IngredientJson>[];
cardBits?: Partial<CardBit>[];
footer?: Partial<Footer>;
markup?: string;
parser?: ParserInfo;
__isDefaultExample?: boolean;
}, options?: BuildBitOptions): Bit | undefined;
/**
* Build books[] node
*
* @param data - data for the node
* @returns
*/
protected buildBooks(context: BuildContext, data: Partial<BookJson>[] | string | undefined): BookJson[] | string | undefined;
/**
* Build choice node
*
* @param data - data for the node
* @returns
*/
protected buildBook(_context: BuildContext, data: Partial<BookJson> | undefined): BookJson | undefined;
/**
* Build groupTag[] node
*
* @param data - data for the node
* @returns
*/
protected buildGroupTags(context: BuildContext, data: Partial<GroupTagJson> | Partial<GroupTagJson>[] | undefined): GroupTagJson[] | undefined;
/**
* Build groupTag node
*
* @param data - data for the node
* @returns
*/
protected buildGroupTag(_context: BuildContext, data: Partial<GroupTagJson> | undefined): GroupTagJson | undefined;
/**
* Build feedbackChoices[] node
*
* @param data - data for the node
* @returns
*/
protected buildFeedbackChoices(context: BuildContext, data: Partial<FeedbackChoiceJson>[] | undefined): FeedbackChoiceJson[] | undefined;
/**
* Build feedbackChoice node
*
* @param data - data for the node
* @returns
*/
protected buildFeedbackChoice(context: BuildContext, data: Partial<FeedbackChoiceJson> | undefined): FeedbackChoiceJson | undefined;
/**
* Build feedbackReason node
*
* @param data - data for the node
* @returns
*/
protected buildFeedbackReason(context: BuildContext, data: Partial<FeedbackReasonJson> | undefined): FeedbackReasonJson | undefined;
/**
* Build choice[] node
*
* @param data - data for the node
* @returns
*/
protected buildChoices(context: BuildContext, data: Partial<ChoiceJson>[] | undefined): ChoiceJson[] | undefined;
/**
* Build choice node
*
* @param data - data for the node
* @returns
*/
protected buildChoice(context: BuildContext, data: Partial<ChoiceJson> | undefined): ChoiceJson | undefined;
/**
* Build response[] node
*
* @param data - data for the node
* @returns
*/
protected buildResponses(context: BuildContext, data: Partial<ResponseJson>[] | undefined): ResponseJson[] | undefined;
/**
* Build response node
*
* @param data - data for the node
* @returns
*/
protected buildResponse(context: BuildContext, data: Partial<ResponseJson> | undefined): ResponseJson | undefined;
/**
* Build bot response[] node
*
* @param data - data for the node
* @returns
*/
protected buildBotResponses(context: BuildContext, data: Partial<BotResponseJson>[] | undefined): BotResponseJson[] | undefined;
/**
* Build bot response node
*
* @param data - data for the node
* @returns
*/
protected botResponse(context: BuildContext, data: Partial<BotResponseJson> | undefined): BotResponseJson | undefined;
/**
* Build feedbacks[] node
*
* @param data - data for the node
* @returns
*/
protected buildFeedbacks(context: BuildContext, data: Partial<FeedbackJson>[] | undefined): FeedbackJson[] | undefined;
/**
* Build feedback node
*
* @param data - data for the node
* @returns
*/
protected buildFeedback(context: BuildContext, data: Partial<FeedbackJson> | undefined): FeedbackJson | undefined;
/**
* Build quizzes[] node
*
* @param data - data for the node
* @returns
*/
protected buildQuizzes(context: BuildContext, data: Partial<QuizJson>[] | undefined): QuizJson[] | undefined;
/**
* Build quiz node
*
* @param data - data for the node
* @returns
*/
protected buildQuiz(context: BuildContext, data: Partial<QuizJson> | undefined): QuizJson | undefined;
/**
* Build heading node
*
* @param data - data for the node
* @returns
*/
protected buildHeading(_context: BuildContext, data: Partial<HeadingJson> | undefined): HeadingJson | undefined;
/**
* Build pair[] node
*
* @param data - data for the node
* @returns
*/
protected buildPairs(context: BuildContext, data: Partial<PairJson>[] | undefined): PairJson[] | undefined;
/**
* Build pair node
*
* @param data - data for the node
* @returns
*/
protected buildPair(context: BuildContext, data: Partial<PairJson> | undefined): PairJson | undefined;
/**
* Build matrix[] node
*
* @param data - data for the node
* @returns
*/
protected buildMatricies(context: BuildContext, data: Partial<MatrixJson>[] | undefined): MatrixJson[] | undefined;
/**
* Build matrix node
*
* @param data - data for the node
* @returns
*/
protected buildMatrix(context: BuildContext, data: Partial<MatrixJson> | undefined): MatrixJson | undefined;
/**
* Build matrixCell node
*
* @param data - data for the node
* @returns
*/
protected buildMatrixCell(context: BuildContext, data: Partial<MatrixCellJson> | undefined): MatrixCellJson | undefined;
/**
* Build pronunciation table node
*
* @param data - data for the node
* @returns
*/
protected buildPronunciationTable(context: BuildContext, dataIn: Partial<PronunciationTableJson> | undefined): PronunciationTableJson | undefined;
/**
* Build table node
*
* @param data - data for the node
* @returns
*/
protected buildTable(context: BuildContext, dataIn: Partial<TableJson> | undefined): TableJson | undefined;
/**
* Build question[] node
*
* @param data - data for the node
* @returns
*/
protected buildQuestions(context: BuildContext, data: Partial<QuestionJson>[] | undefined): QuestionJson[] | undefined;
/**
* Build question node
*
* @param data - data for the node
* @returns
*/
protected buildQuestion(context: BuildContext, data: Partial<QuestionJson> | undefined): QuestionJson | undefined;
/**
* Build ingredient[] node
*
* @param data - data for the node
* @returns
*/
protected buildIngredients(context: BuildContext, data: Partial<IngredientJson>[] | undefined): IngredientJson[] | undefined;
/**
* Build ingredient node
*
* @param data - data for the node
* @returns
*/
protected buildIngredient(context: BuildContext, data: Partial<IngredientJson> | undefined): IngredientJson | undefined;
/**
* Build body node
* - Handles JSON, Bitmark text, and plain text
* - body: set to either string, TextAst, or JSON
* - bodyBits: set to array of BodyBitJson (will be validated and merged into body if it is a string)
* - placeholders: set to placeholders from v2 JSON when body is a v2 JSON string
* - bodyString: set to the original string if body is a string (only used for card body)
*
* @param data - data for the node
* @returns
*/
protected buildBody(context: BuildContext, data: Partial<Body> | undefined): Body | undefined;
/**
* Build footer node
*
* @param data - data for the node
* @returns
*/
protected buildFooter(context: BuildContext, data: Partial<Footer> | undefined): Footer | undefined;
/**
* Build gap node
*
* @param data - data for the node
* @returns
*/
protected buildGap(context: BuildContext, data: Partial<GapJson> | undefined): GapJson | undefined;
/**
* Build mark configs node
*
* @param data - data for the node
* @returns
*/
protected buildMarkConfigs(context: BuildContext, data: Partial<MarkConfigJson>[] | undefined): MarkConfigJson[] | undefined;
/**
* Build mark config node
*
* @param data - data for the node
* @returns
*/
protected buildMarkConfig(_context: BuildContext, data: Partial<MarkConfigJson> | undefined): MarkConfigJson | undefined;
/**
* Build mark node
*
* @param data - data for the node
* @returns
*/
protected buildMark(context: BuildContext, data: Partial<MarkJson> | undefined): MarkJson | undefined;
/**
* Build select node
*
* @param data - data for the node
* @returns
*/
protected buildSelect(context: BuildContext, data: Partial<SelectJson> | undefined): SelectJson | undefined;
/**
* Build selectOption[] node
*
* @param data - data for the node
* @returns
*/
protected buildSelectOptions(context: BuildContext, data: Partial<SelectOptionJson>[] | undefined): SelectOptionJson[] | undefined;
/**
* Build selectOption node
*
* @param data - data for the node
* @returns
*/
protected buildSelectOption(context: BuildContext, data: Partial<SelectOptionJson> | undefined): SelectOptionJson | undefined;
/**
* Build highlight node
*
* @param data - data for the node
* @returns
*/
buildHighlight(context: BuildContext, data: Partial<HighlightJson> | undefined): HighlightJson | undefined;
/**
* Build highlightText[] node
*
* @param data - data for the node
* @returns
*/
protected buildHighlightTexts(context: BuildContext, data: Partial<HighlightTextJson>[] | undefined): HighlightTextJson[] | undefined;
/**
* Build highlightText node
*
* @param data - data for the node
* @returns
*/
protected buildHighlightText(context: BuildContext, data: Partial<HighlightTextJson> | undefined): HighlightTextJson | undefined;
/**
* Build flashcards node
*
* @param data - data for the node
* @returns
*/
protected buildFlashcards(context: BuildContext, data: Partial<FlashcardJson>[] | undefined): FlashcardJson[] | undefined;
/**
* Build flashcard node
*
* @param data - data for the node
* @returns
*/
protected buildFlashcard(context: BuildContext, data: Partial<FlashcardJson> | undefined): FlashcardJson | undefined;
/**
* Build definitionListItem[] node
*
* @param data - data for the node
* @returns
*/
protected buildDefinitionList(context: BuildContext, data: Partial<DefinitionListItemJson>[] | undefined): DefinitionListItemJson[] | undefined;
/**
* Build definitionListItem node
*
* @param data - data for the node
* @returns
*/
protected buildDefinitionListItem(context: BuildContext, data: Partial<DefinitionListItemJson> | undefined): DefinitionListItemJson | undefined;
protected buildTextAndIcon(context: BuildContext, data: Partial<TextAndIconJson> | undefined, textAsStrings?: boolean): TextAndIconJson | undefined;
/**
* Build statement[] node
*
* @param data - data for the node
* @returns
*/
protected buildStatements(context: BuildContext, data: Partial<StatementJson>[] | undefined): StatementJson[] | undefined;
/**
* Build statement node
*
* @param data - data for the node
* @returns
*/
protected buildStatement(context: BuildContext, data: Partial<StatementJson> | undefined): StatementJson | undefined;
/**
* Build (image-on-device) imageSource node
*
* @param data - data for the node
* @returns
*/
protected buildImageSource(_context: BuildContext, data: Partial<ImageSourceJson> | undefined): ImageSourceJson | undefined;
/**
* Build (chat) person node
*
* @param data - data for the node
* @returns
*/
protected buildPerson(context: BuildContext, data: Partial<PersonJson> | undefined): PersonJson | undefined;
/**
* Build (cook-ingredients) technicalTerm node
*
* @param data - data for the node
* @returns
*/
protected buildTechnicalTerm(_context: BuildContext, data: Partial<TechnicalTermJson> | undefined): TechnicalTermJson | undefined;
/**
* Build (cook-ingredients) servings node
*
* @param data - data for the node
* @returns
*/
protected buildServings(_context: BuildContext, data: Partial<ServingsJson> | undefined): ServingsJson | undefined;
/**
* Build (survey-rating) ratingLevelStart / ratingLevelEnd node
*
* @param data - data for the node
* @returns
*/
protected buildRatingLevelStartEnd(context: BuildContext, data: Partial<RatingLevelStartEndJson> | undefined): RatingLevelStartEndJson | undefined;
/**
* Build card bit[] node
*
* @param data - data for the node
* @returns
*/
protected buildCardBits(context: BuildContext, data: Partial<CardBit>[] | undefined): Bit[] | undefined;
/**
* Build card bit node
*
* @param data - data for the node
* @returns
*/
protected buildCardBit(context: BuildContext, data: Partial<CardBit> | undefined): CardBit | undefined;
protected toImageResource(context: BuildContext, data: Partial<ImageResourceWrapperJson> | undefined): ImageResourceWrapperJson;
private buildCardNode;
/**
* Copy any attributes from 'attrs' property to the root node (necessary when the input if from JSON)
* The values in 'attrs' will overwrite any existing values in the node
*
* The original object is not modified, a new object is returned
*
* @param data
*/
private bodyBitCopyFromAttrs;
/**
* Set examples down the tree
*
* @param body
* @param cardNode
* @param __isDefaultExample
* @param example
* @returns true if any of the answers has an example, otherwise undefined
*/
private pushExampleDownTree;
/**
* Set examples for boolean nodes
*
* @param __isDefaultExample
* @param example
* @param onlyCorrect
* @param nodes
* @returns true if any of the answers has an example, otherwise undefined
*/
private pushExampleDownTreeBoolean;
/**
* Set examples for string nodes
*
* @param __isDefaultExample
* @param example
* @param nodes
* @returns true if any of the answers has an example, otherwise undefined
*/
private pushExampleDownTreeString;
private pushExampleDownTreeBodyBits;
/**
* Push a value down the tree, without overriding existing values
*
* This function is not type safe and should be used with care
*
* @param body/body[] set if the value should be passed down the body to the body bits / card body bits
* @param bodyBitTypes body bit types to push the value down to
* @param cardNode set if the value should be passed down the card node
* @param path path for the value
* @param value the value to push down
*/
private pushDownTree;
private parseExtraProperties;
/**
* Set the 'isExample' flags on the bit
*
* The flag is set if the bit has an example. The flag is set at each branch level up the tree from
* where the 'example' exists.
*
* @param bit
*/
private setIsExampleFlags;
private setDefaultBitValues;
private addVersionToParserInfo;
}
/**
* Builder to build bitmark Resource AST nodes programmatically
*/
declare class ResourceBuilder extends BaseBuilder {
/**
* Build and validate resource JSON object(s) from external resource JSON object(s)
*
* Note: a single input resource object can be converted to multiple resource objects
* (e.g. stillImageFilm -> image + audio)
*
* @param bitType
* @param resource
* @returns
*/
resourceFromResourceJson(context: BuildContext, resource?: Partial<ResourceJson> | Partial<ResourceJson>[]): ResourceJson | ResourceJson[] | undefined;
resourceFromResourceDataJson(context: BuildContext, type: ResourceTypeType, data: Partial<ResourceDataJson> | undefined): ResourceJson | undefined;
/**
* Build resource node
*
* @param data - data for the node
* @returns
*/
resource(context: BuildContext, data: {
type: ResourceTypeType;
value?: string;
format?: string;
src1x?: string;
src2x?: string;
src3x?: string;
src4x?: string;
width?: string;
height?: string;
alt?: string;
zoomDisabled?: boolean;
duration?: number;
mute?: boolean;
autoplay?: boolean;
allowSubtitles?: boolean;
showSubtitles?: boolean;
posterImage?: ImageResourceJson;
thumbnails?: ImageResourceJson[];
siteName?: string;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): ResourceJson | undefined;
/**
* Build imageResource node
*
* @param data - data for the node
* @returns
*/
imageResource(context: BuildContext, data: {
format: string;
value: string;
src1x?: string;
src2x?: string;
src3x?: string;
src4x?: string;
width?: string | null;
height?: string | null;
alt?: string;
zoomDisabled?: boolean;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}, __typeAlias?: ResourceTypeType): ImageResourceWrapperJson | undefined;
/**
* Build imageLinkResource node
*
* @param data - data for the node
* @returns
*/
imageLinkResource(context: BuildContext, data: {
format: string;
value: string;
src1x?: string;
src2x?: string;
src3x?: string;
src4x?: string;
width?: string;
height?: string;
alt?: string;
zoomDisabled?: boolean;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): ImageLinkResourceWrapperJson | undefined;
/**
* Build audioResource node
*
* @param data - data for the node
* @returns
*/
audioResource(context: BuildContext, data: {
format: string;
value: string;
duration?: number;
mute?: boolean;
autoplay?: boolean;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): AudioResourceWrapperJson | undefined;
/**
* Build audioEmbedResource node
*
* @param data - data for the node
* @returns
*/
audioEmbedResource(context: BuildContext, data: {
format: string;
value: string;
duration?: number;
mute?: boolean;
autoplay?: boolean;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): AudioEmbedResourceWrapperJson | undefined;
/**
* Build audioLinkResource node
*
* @param data - data for the node
* @returns
*/
audioLinkResource(context: BuildContext, data: {
format: string;
value: string;
duration?: number;
mute?: boolean;
autoplay?: boolean;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): AudioLinkResourceWrapperJson | undefined;
/**
* Build videoResource node
*
* @param data - data for the node
* @returns
*/
videoResource(context: BuildContext, data: {
format: string;
value: string;
width?: string;
height?: string;
duration?: number;
mute?: boolean;
autoplay?: boolean;
allowSubtitles?: boolean;
showSubtitles?: boolean;
alt?: string;
posterImage?: ImageResourceJson;
thumbnails?: ImageResourceJson[];
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): VideoResourceWrapperJson | undefined;
/**
* Build videoEmbedResource node
*
* @param data - data for the node
* @returns
*/
videoEmbedResource(context: BuildContext, data: {
format: string;
value: string;
width?: string;
height?: string;
duration?: number;
mute?: boolean;
autoplay?: boolean;
allowSubtitles?: boolean;
showSubtitles?: boolean;
alt?: string;
posterImage?: ImageResourceJson;
thumbnails?: ImageResourceJson[];
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): VideoEmbedResourceWrapperJson | undefined;
/**
* Build videoLinkResource node
*
* @param data - data for the node
* @returns
*/
videoLinkResource(context: BuildContext, data: {
format: string;
value: string;
width?: string;
height?: string;
duration?: number;
mute?: boolean;
autoplay?: boolean;
allowSubtitles?: boolean;
showSubtitles?: boolean;
alt?: string;
posterImage?: ImageResourceJson;
thumbnails?: ImageResourceJson[];
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): VideoLinkResourceWrapperJson | undefined;
/**
* Build stillImageFilmEmbedResource node
*
* @param data - data for the node
* @returns
*/
stillImageFilmEmbedResource(context: BuildContext, data: {
format: string;
value: string;
width?: string;
height?: string;
duration?: number;
mute?: boolean;
autoplay?: boolean;
allowSubtitles?: boolean;
showSubtitles?: boolean;
alt?: string;
posterImage?: ImageResourceJson;
thumbnails?: ImageResourceJson[];
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): StillImageFilmEmbedResourceWrapperJson | undefined;
/**
* Build stillImageFilmLinkResource node
*
* @param data - data for the node
* @returns
*/
stillImageFilmLinkResource(context: BuildContext, data: {
format: string;
value: string;
width?: string;
height?: string;
duration?: number;
mute?: boolean;
autoplay?: boolean;
allowSubtitles?: boolean;
showSubtitles?: boolean;
alt?: string;
posterImage?: ImageResourceJson;
thumbnails?: ImageResourceJson[];
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): StillImageFilmLinkResourceWrapperJson | undefined;
/**
* Build articleResource node
*
* @param data - data for the node
* @returns
*/
articleResource(context: BuildContext, data: {
format: string;
value: string;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): ArticleResourceWrapperJson | undefined;
/**
* Build documentResource node
*
* @param data - data for the node
* @returns
*/
documentResource(context: BuildContext, data: {
format: string;
value: string;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): DocumentResourceWrapperJson | undefined;
/**
* Build documentEmbedResource node
*
* @param data - data for the node
* @returns
*/
documentEmbedResource(context: BuildContext, data: {
format: string;
value: string;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): DocumentEmbedResourceWrapperJson | undefined;
/**
* Build documentLinkResource node
*
* @param data - data for the node
* @returns
*/
documentLinkResource(context: BuildContext, data: {
format: string;
value: string;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): DocumentLinkResourceWrapperJson | undefined;
/**
* Build documentDownloadResource node
*
* @param data - data for the node
* @returns
*/
documentDownloadResource(context: BuildContext, data: {
format: string;
value: string;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): DocumentDownloadResourceWrapperJson | undefined;
/**
* Build appLinkResource node
*
* @param data - data for the node
* @returns
*/
appLinkResource(context: BuildContext, data: {
value: string;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): AppLinkResourceWrapperJson | undefined;
/**
* Build websiteLinkResource node
*
* @param data - data for the node
* @returns
*/
websiteLinkResource(context: BuildContext, data: {
value: string;
siteName?: string;
license?: string;
copyright?: string;
showInIndex?: boolean;
caption?: TextAst;
search?: string;
}): WebsiteLinkResourceWrapperJson | undefined;
}
/**
* Simple writer to write text or code.
*/
interface Writer {
/**
* If true, the writer is synchronous.
* If false, the writer is asynchronous.
*
* When the writer is synchronous, the openSync() and closeSync() methods can be used, and
* the output can be generated synchrounously.
*/
readonly isSync: boolean;
/**
* Open the writer for writing.
*
* Must be called before any calls to writeXXX();
*
* This method can be used regardless of the value of isSync.
*/
open(): Promise<void>;
/**
* Close the writer for writing.
*
* Must be called after any calls to writeXXX();
*
* This method can be used regardless of the value of isSync.
*/
close(): Promise<void>;
/**
* Open the writer for writing.
*
* Must be called before any calls to writeXXX();
*
* This method is only available when isSync is true.
*/
openSync(): void;
/**
* Close the writer for writing.
*
* Must be called after any calls to writeXXX();
*
* This method is only available when isSync is true.
*/
closeSync(): void;
/**
* Writes a string value to the output.
* @param value - The string value to be written.
*/
write(value: string): this;
/**
* Writes a new line to the output. The line is indented automatically. The line is ended with the endOfLineString.
* @param value - The line to write. When omitted, only the endOfLineString is written.
*/
writeLine(value?: string): this;
/**
* Writes a collection of lines to the output. Each line is indented automatically and ended with the endOfLineString.
* @param values - The lines to write.
* @param delimiter - An optional delimiter to be written at the end of each line, except for the last one.
*/
writeLines(values: string[], delimiter?: string): this;
/**
* Writes a single whitespace character to the output.
*/
writeWhiteSpace(): this;
/**
* Get the last string non-empty that was written.
*
* @returns The last non-empty string that was written, or an empty string if nothing has been written.
*/
getLastWrite(): string;
}
/**
* Writer to write to a string.
*/
declare class StringWriter implements Writer {
private _buffer;
private _string;
endOfLineString: string;
private lastWrite;
get isSync(): boolean;
/**
* Get the string which has been written.
*
* This cannot be called until after close() has resolved its Promise.
*
* @returns
*/
getString(): string;
open(): Promise<void>;
close(): Promise<void>;
openSync(): void;
closeSync(): void;
writeLine(value?: string): this;
writeLines(values: string[], delimiter?: string): this;
write(value: string): this;
writeWhiteSpace(): this;
getLastWrite(): string;
}
declare const CardSetVersion: Readonly<{
v1: 1;
v2: 2;
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
v1: 1;
v2: 2;
}>>;
type CardSetVersionType = EnumType<typeof CardSetVersion>;
/**
* Bitmark generation options
*/
interface BitmarkOptions {
/**
* If true, always include bitmark text format even if it is the default for the bit
* If false, only include bitmark text format if it is not the default for the bit
*/
explicitTextFormat?: boolean;
/**
* Prettify the JSON in the bitmark body.
*
* If not set or false, JSON will not be prettified.
* If true, JSON will be prettified with an indent of 2.
* If a positive integer, JSON will be prettified with an indent of this number.
*/
prettifyJson?: boolean | number;
/**
* Card set version to generate:
* 1: === / == / --
* 2: ++==== / ==== / -- / ~~ / ====++
*/
cardSetVersion?: CardSetVersionType;
/**
* The number of spaces to insert around values in the bitmark.
* If set to true, will use the default of 1 space.
* If set to false, will not insert any spaces.
* If set to a number, will insert that many spaces, up to a limit of 10.
*
* default: true
*/
spacesAroundValues?: number | boolean;
/**
* [development only]
* Generate debug information in the output.
*/
debugGenerationInline?: boolean;
}
/**
* Bitmark generator options
*/
interface BitmarkGeneratorOptions {
/**
* bitmarkVersion - The version of bitmark to output.
* If not specified, the version will default to 3.
*
* Specifying the version will set defaults for other options.
* - Bitmark v2:
* - cardSetVersion: 1
* - Bitmark v3:
* - cardSetVersion: 2
*/
bitmarkVersion?: BitmarkVersionType;
/**
* The options for JSON generation.
*/
bitmarkOptions?: BitmarkOptions;
}
/**
* Generate bitmark markup from a bitmark AST
*
* NOTE: Newlines - a newline is written BEFORE each content that requries a newline
*
*/
declare class BitmarkGenerator extends AstWalkerGenerator<BitmarkAst, void> {
protected ast: Ast;
protected textGenerator: TextGenerator;
private bitmarkVersion;
private options;
private mainWriter;
private partWriter;
private writer;
private prettifySpace;
private spacesAroundValues;
private spacesAroundValuesStr;
private bitType;
private textFormat;
private isBodyBitmarkText;
private isCardAllowed;
private firstBit;
private hasCardSet;
private hasFooter;
private inTag;
/**
* Generate bitmark markup from a bitmark AST
*
* @param writer - destination for the output
* @param bitmarkVersion - The version of bitmark to output.
* If not specified, the version will default to 3.
*
* Specifying the version will set defaults for other options.
* - Bitmark v2:
* - cardSetVersion: 1
* - Bitmark v3:
* - cardSetVersion: 2
*
* @param options - bitmark generation options
*/
constructor(writer: Writer, options?: BitmarkGeneratorOptions);
/**
* Generate bitmark markup from bitmark AST
*
* @param ast bitmark AST
*/
generate(ast: BitmarkAst): Promise<void>;
/**
* Generate text from a bitmark text AST synchronously
*
* @param ast bitmark text AST
*/
generateSync(ast: BitmarkAst): void;
private resetState;
private walkAndWrite;
protected enter_bitsValue(node: NodeInfo, _route: NodeInfo[]): boolean;
protected exit_bitsValue(_node: NodeInfo, _route: NodeInfo[]): void;
protected enter_internalComment(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_groupTag(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_labelTrue(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_labelFalse(_node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_imageSource(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_technicalTerm(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_servings(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_person(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_text(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_text(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_icon(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_iconValue(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_ratingLevelStart(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_ratingLevelEnd(node: NodeInfo, route: NodeInfo[]): boolean;
protected enterRatingLevelStartEndCommon(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_markConfig(_node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_markConfigValue(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_partialAnswer(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_partialAnswer(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_sampleSolution(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_sampleSolution(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_reasonableNumOfChars(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_additionalSolutionsValue(node: NodeInfo, route: NodeInfo[]): void;
protected enter_item(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_lead(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_pageNumber(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_marginNumber(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_body(node: NodeInfo, route: NodeInfo[]): boolean;
protected exit_body(_node: NodeInfo, _route: NodeInfo[]): void;
protected bodyBitCallback(bodyBit: BodyBitJson, _index: number, _route: NodeInfo[]): string;
protected enter_gap(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_mark(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_select(_node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_highlight(_node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_footer(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_solutions(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_solution(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_mark(node: NodeInfo, route: NodeInfo[]): void;
protected enter_optionsValue(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_textsValue(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_cardNode(_node: NodeInfo, _route: NodeInfo[]): boolean;
protected between_cardNode(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected exit_cardNode(_node: NodeInfo, _route: NodeInfo[]): void;
protected enter_elements(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_elements(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected between_flashcards(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected between_flashcardsValue(_node: NodeInfo, _left: NodeInfo, right: NodeInfo, _route: NodeInfo[]): void;
protected between_alternativeAnswers(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_alternativeDefinitions(_node: NodeInfo, _route: NodeInfo[]): void;
protected enter_statements(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_statements(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_statementsValue(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_choicesValue(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_responsesValue(node: NodeInfo, _route: NodeInfo[]): boolean;
protected between_feedbacks(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_reason(_node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_quizzes(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_quizzes(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_heading(_node: NodeInfo, _route: NodeInfo[]): boolean | void;
protected between_heading(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_forValues(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_forValues(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_pairs(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_pairs(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_keyAudio(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_keyImage(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_matrix(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_matrix(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_values(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_values(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected between_pronunciationTable(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, route: NodeInfo[]): void;
protected between_table(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, route: NodeInfo[]): void;
protected between_data(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, route: NodeInfo[]): void;
protected between_columns(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, route: NodeInfo[]): void;
protected leaf_columnsValue(node: NodeInfo, _route: NodeInfo[]): void;
protected enter_columnsValue(node: NodeInfo, _route: NodeInfo[]): void;
protected between_dataValue(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, route: NodeInfo[]): void;
protected leaf_dataValueValue(node: NodeInfo, route: NodeInfo[]): void;
protected enter_dataValueValue(node: NodeInfo, route: NodeInfo[]): void | boolean;
protected between_captionDefinitionList(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, route: NodeInfo[]): void;
protected leaf_term(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_definition(node: NodeInfo, route: NodeInfo[]): boolean;
protected between_definitions(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, route: NodeInfo[]): void;
protected between_definitionsValue(_node: NodeInfo, _left: NodeInfo, right: NodeInfo, route: NodeInfo[]): void;
protected enter_questions(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_questions(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_ingredients(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_ingredients(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_ingredientsValue(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_botResponses(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_botResponses(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected enter_cardBits(_node: NodeInfo, _route: NodeInfo[]): void;
protected between_cardBits(_node: NodeInfo, _left: NodeInfo, _right: NodeInfo, _route: NodeInfo[]): void;
protected leaf_response(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_reaction(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_feedback(node: NodeInfo, route: NodeInfo[]): void;
protected enter_backgroundWallpaper(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_imagePlaceholder(node: NodeInfo, _route: NodeInfo[]): boolean;
protected exit_imagePlaceholder(_node: NodeInfo, _route: NodeInfo[]): void;
protected enter_posterImage(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_thumbnails(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_level(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_titleString(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_title(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_subtitle(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_book(_node: NodeInfo, _route: NodeInfo[]): void;
protected enter_bookValue(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_book(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_anchor(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_reference(node: NodeInfo, route: NodeInfo[]): void;
protected enter_hint(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_instruction(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_lang(node: NodeInfo, route: NodeInfo[]): void;
protected enter_refAuthor(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_refBookTitle(node: NodeInfo, route: NodeInfo[]): void;
protected enter_refPublisher(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_refPublicationYear(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_citationStyle(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_isExample(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_elementsValue(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_solutionsValue(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_prefix(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_postfix(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_isCaseSensitive(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_forKeys(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_forValues(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_forValuesValue(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_key(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_valuesValue(node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_question(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_src1x(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_src2x(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_src3x(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_src4x(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_width(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_height(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_alt(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_zoomDisabled(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_license(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_copyright(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_provider(_node: NodeInfo, _route: NodeInfo[]): void;
protected leaf_showInIndex(node: NodeInfo, route: NodeInfo[]): void;
protected enter_caption(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_search(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_duration(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_mute(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_autoplay(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_allowSubtitles(node: NodeInfo, route: NodeInfo[]): void;
protected leaf_showSubtitles(node: NodeInfo, route: NodeInfo[]): void;
/**
* Generate the handlers for resources, as they are mostly the same, but not quite
*/
protected generateResourceHandlers(): void;
/**
* Generate the handlers for properties, as they are mostly the same, but not quite
*/
protected generatePropertyHandlers(): void;
/**
* Get the bit type from any node
*
* @param route the route to the current node
* @returns the bit type
*/
protected getBitType(route: NodeInfo[]): BitTypeType | undefined;
/**
* Check if in a chain.
*
* Return false if at the root of the bit or a card bit, otherwise true.
* This is useful to determine if a newline should be written before certain properties.
*
* @param route
* @returns
*/
protected isChain(route: NodeInfo[]): boolean;
protected haveValidCardSet(bit: Bit): boolean;
protected haveValidFooter(bit: Bit): boolean;
/**
* Calculate the number of spaces around values from the options.
*
* This function should only be called from the constructor.
* Otherwise use this.spacesAroundValues.
*
* @returns
*/
protected calcSpacesAroundValues(): number;
/**
* Helper function to write a tag key, breakscaping appropriately.
* Use only to write a tag key.
*
* @param s
*/
protected writeTagKey<T extends string>(s?: T): void;
/**
* Write text or value, handling:
* - the format and location (i.e. conversion to text and breakscaping).
* - the spaces around values (if tag value).
*
* @param text
* @param format
* @param location
* @param options
*/
protected writeTextOrValue(text: JsonText, format: TextFormatType, location: TextLocationType, options?: GenerateOptions): void;
protected writeString(s?: string): void;
protected writeOPBUL(): void;
protected writeOPESC(): void;
protected writeOPRANGLE(): void;
protected writeOPDANGLE(): void;
protected writeOPD(level: number): void;
protected writeOPU(): void;
protected writeOPE(): void;
protected writeOPB(): void;
protected writeOPQ(): void;
protected writeOPA(): void;
protected writeOPP(): void;
protected writeOPM(): void;
protected writeOPS(): void;
protected writeOPR(): void;
protected writeOPC(): void;
protected writeOPAMP(): void;
protected writeOPDOLLAR(): void;
protected writeOPHASH(): void;
protected writeOPPRE(): void;
protected writeOPPOST(): void;
protected writeOP(): void;
protected writeCL(): void;
protected writeAmpersand(): void;
protected writeColon(): void;
protected writeHash(): void;
protected writeSpacesAroundValues(): void;
protected writePlainTextDivider(): void;
protected writeCardSetStart(): void;
protected writeCardSetEnd(): void;
protected writeCardSetCardDivider(): void;
protected writeCardSetSideDivider(): void;
protected writeCardSetVariantDivider(): void;
protected writeNL_IfNotChain(route: NodeInfo[]): void;
protected writeNL(): void;
protected writePropertyStyleResource(key: string, resource: ResourceJson, deprecated_writeAsProperty?: boolean): boolean | void;
protected writeResource(type: ResourceTypeType, value: string): void;
protected writeProperty(name: string, values: unknown | unknown[] | undefined, route: NodeInfo[], options: {
format: TagFormatType;
array?: boolean;
ignoreFalse?: boolean;
ignoreTrue?: boolean;
writeEmpty?: boolean;
}): void;
protected writeInlineDebug(key: string, state: {
open?: boolean;
close?: boolean;
single?: boolean;
}): void;
protected isEmptyText(text: TextAst | undefined): boolean;
protected isWriteTextFormat(bitsValue: string, textFormatDefault: TextFormatType): boolean;
protected calculateIsCardAllowed(): boolean;
protected isOfBitType1(): boolean;
protected isOfBitType(baseBitType: BitTypeType | BitTypeType[]): boolean;
/**
* Writes a string value to the output.
* @param value - The string value to be written.
*/
write(value: string): this;
/**
* Writes a new line to the output. The line is indented automatically. The line is ended with the endOfLineString.
* @param value - The line to write. When omitted, only the endOfLineString is written.
*/
writeLine(value?: string): this;
/**
* Writes a collection of lines to the output. Each line is indented automatically and ended with the endOfLineString.
* @param values - The lines to write.
* @param delimiter - An optional delimiter to be written at the end of each line, except for the last one.
*/
writeLines(values: string[], delimiter?: string): this;
/**
* Writes a single whitespace character to the output.
*/
writeWhiteSpace(): this;
}
/**
* JSON output options
*/
interface JsonOptions {
/**
* Enable parser warnings.
*
* If not set or false, parser warnings will not be included in the output.
* If true, any parser warnings will be included in the output.
*/
enableWarnings?: boolean | number;
/**
* Prettify the JSON.
*
* If not set or false, JSON will not be prettified.
* If true, JSON will be prettified with an indent of 2.
* If a positive integer, JSON will be prettified with an indent of this number.
*
* If prettify is set, a string will be returned if possible.
*/
prettify?: boolean | number;
/**
* Stringify the JSON.
*
* If not set or false, JSON will be returned as a plain JS object.
* It true, JSON will be stringified.
*
* If prettify is set, it will override this setting.
*/
stringify?: boolean;
/**
* Output text as plain text rather than parsed bitmark text
*
* If not set, the default for the bitmark version will be used.
* If false, text will be output as parsed bitmark text.
* It true, text will be output as plain text strings.
*/
textAsPlainText?: boolean;
/**
* Exclude unknown properties in the output.
*
* If not set or false, unknown properties will be included in the JSON output.
* It true, unknown properties will NOT be included in the JSON output.
*
*/
excludeUnknownProperties?: boolean;
/**
* [development only]
* Generate debug information in the output.
*/
debugGenerationInline?: boolean;
}
/**
* JSON generator options
*/
interface JsonGeneratorOptions {
/**
* bitmarkVersion - The version of bitmark to output.
* If not specified, the version will default to 3.
*
* Specifying the version will set defaults for other options.
* - Bitmark v2:
* - textAsPlainText: true
* - Bitmark v3:
* - textAsPlainText: false
*/
bitmarkVersion?: BitmarkVersionType;
/**
* The options for JSON generation.
*/
jsonOptions?: JsonOptions;
}
interface ExampleNode {
isExample: boolean;
example?: Example | undefined;
__isDefaultExample: boolean;
}
interface ExampleJsonWrapper {
isExample: boolean;
example: ExampleJson;
}
/**
* Generate bitmark JSON from a bitmark AST
*
*
*/
declare class JsonGenerator extends AstWalkerGenerator<BitmarkAst, void> {
protected ast: Ast;
protected textGenerator: TextGenerator;
private bitmarkVersion;
private textParserVersion;
private textParser;
private options;
private jsonPrettifySpace;
private writer;
private json;
private bitWrapperJson;
private bitJson;
private textDefault;
private bodyDefault;
private bodyJson;
private listItem;
private placeholderIndex;
/**
* Generate bitmark JSON from a bitmark AST
*
* @param writer - destination for the output
* @param options - JSON generation options
*/
constructor(writer: Writer, options?: JsonGeneratorOptions);
/**
* Generate bitmark markup from bitmark AST
*
* @param ast bitmark AST
*/
generate(ast: BitmarkAst): Promise<void>;
/**
* Generate text from a bitmark text AST synchronously
*
* @param ast bitmark text AST
*/
generateSync(ast: BitmarkAst): void;
private resetState;
private walkAndWrite;
protected enter_bitmarkAst(_node: NodeInfo, _route: NodeInfo[]): void;
protected exit_bitmarkAst(_node: NodeInfo, _route: NodeInfo[]): void;
protected enter_bitsValue(node: NodeInfo, _route: NodeInfo[]): void;
protected exit_bitsValue(_node: NodeInfo, _route: NodeInfo[]): void;
protected enter_imageSource(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_person(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_ratingLevelStart(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_ratingLevelEnd(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_productId(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_markConfig(_node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_markConfigValue(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_item(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_lead(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_pageNumber(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_marginNumber(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_hint(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_instruction(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_titleString(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_title(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_subtitle(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_caption(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_width(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_height(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_extraProperties(node: NodeInfo, _route: NodeInfo[]): void;
protected enter_cardBitsValue(node: NodeInfo, route: NodeInfo[]): void;
protected exit_cardBitsValue(_node: NodeInfo, _route: NodeInfo[]): void;
protected enter_body(node: NodeInfo, route: NodeInfo[]): boolean;
protected bodyBitCallback(bodyBit: BodyBitJson, _index: number, _route: NodeInfo[]): string;
/**
* Move all properties of body bits to the attrs property.
* This function is called recursively to process all body bits in the body tree.
*
* NOTE: Internally, the body bit is stored as it appears in bitmark v2, but in v3 all the properties
* should be in the `attrs` property. The properies are only moved to 'attrs' for the JSON output
*
* The original body bit is not modified.
* The function returns a new body bit with the properties moved.
*
* @param nodes the body to process, or the subtree to process
* @param recursion leave as default, used for recursion only
* @returns
*/
protected moveBodyBitPropertiesToAttrs(nodes: TextAst, recursion?: number): TextAst;
protected enter_footer(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_elements(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_flashcards(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_definitions(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_statement(node: NodeInfo, route: NodeInfo[]): void;
protected enter_statements(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_choices(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_responses(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_feedbacks(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_quizzes(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_heading(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_pairs(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_matrix(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_pronunciationTable(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_table(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_questions(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_botResponses(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_ingredients(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_captionDefinitionList(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_backgroundWallpaper(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_imagePlaceholder(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_resources(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_level(node: NodeInfo, route: NodeInfo[]): boolean;
protected enter_book(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_book(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_anchor(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_reference(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_referenceEnd(node: NodeInfo, route: NodeInfo[]): boolean;
protected leaf_markup(node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_internalComment(_node: NodeInfo, _route: NodeInfo[]): boolean;
protected enter_parser(node: NodeInfo, route: NodeInfo[]): void;
/**
* Generate the handlers for properties, as they are mostly the same, but not quite
*/
protected generatePropertyHandlers(): void;
/**
* Default handler for properties.
*
* @param node the node
* @param route the route to the node
* @param parentNodeTypes the parent node types for which to handle the node
* @returns
*/
protected standardHandler(node: NodeInfo, route: NodeInfo[], parentNodeTypes: NodeTypeType | NodeTypeType[] | undefined, options: {
array: boolean;
allowNull?: boolean;
keyOverride?: string;
valueOverride?: unknown;
}): boolean;
protected addProperty(target: any, name: string, values: unknown | unknown[] | undefined, options: {
array: boolean;
allowNull?: boolean;
}): void;
protected toExample(node: ExampleNode, options: {
defaultExample: string | boolean | null;
isBoolean: boolean;
textFormat: TextFormatType;
}): ExampleJsonWrapper;
/**
* Get the bit type from any node
*
* @param route the route to the current node
* @returns the bit type
*/
protected getBitType(route: NodeInfo[]): BitTypeType | undefined;
/**
* Get the text format from any node
*
* @param route the route to the current node
* @returns the text format
*/
protected getTextFormat(route: NodeInfo[]): TextFormatType;
/**
* Get the bit resourceType atttachment from any node
*
* @param route the route to the current node
* @returns the bit type
*/
protected getResourceType(route: NodeInfo[]): ResourceTypeType | undefined;
/**
* Get the internal comments from any node
*
* @param route the route to the current node
* @returns the text format
*/
protected getInternalComments(route: NodeInfo[]): BreakscapedString[] | undefined;
/**
* Convert the text from the AST to the JSON format:
* Input:
* - breakscaped string
* Output:
* - text: plain text
* - json: bitmark text JSON
* - Bitmark v2: breakscaped string
* - Bitmark v3: bitmark text JSON (TextAst)
*
* In the case of Bitmark v2 type texts, there is nothing to do but cast the type.
*
* @param text
* @returns
*/
protected convertBreakscapedStringToJsonText(text: BreakscapedString | undefined, format: TextFormatType, textLocation: TextLocationType): JsonText;
/**
* Concatenates a plain JSON text with a JsonText that may be plain (v2) or BitmarkText (v3)
* Returns the combined text.
*
* @param text the text to concatenate
* @param textPlain the plain text to concatenate
*/
protected concatenatePlainTextWithJsonTexts(text: JsonText, extraBreaks: number, textPlain: string): JsonText;
/**
* Check if an object is bitmark text
* The check looks for a special tag on the array (__tag: 'text')
*
* @param obj object that might be bitmark text
* @returns
*/
protected isBitmarkText(obj: unknown): boolean;
protected writeInlineDebug(key: string, state: {
open?: boolean;
close?: boolean;
single?: boolean;
}): void;
protected writeString(s?: string): void;
/**
* Create a new bit json object.
* - This function defines the order of the properties in the json.
*
* @param bit
* @returns
*/
protected createBitJson(bit: Bit): Partial<BitJson>;
/**
* Remove wanted properties from bit json object.
* - This function defines the defaults for properties in the json.
*
* TODO: All these defaults should come from the config and be set in the Builder.
*
* @param bit
* @returns
*/
protected cleanBitJson(bitJson: Partial<BitJson>): Partial<BitJson>;
/**
* Convert any bitmark texts to strings.
*/
protected convertAllBitmarkTextsToStringsForPlainText(json: Record<string, unknown> | unknown[]): void;
/**
* Remove any property with a key starting with an double underscore.
*
* @param json
*/
protected removeTemporaryProperties(json: Record<string, unknown> | unknown[]): void;
/**
* Writes a string value to the output.
* @param value - The string value to be written.
*/
write(value: string): this;
/**
* Writes a new line to the output. The line is indented automatically. The line is ended with the endOfLineString.
* @param value - The line to write. When omitted, only the endOfLineString is written.
*/
writeLine(value?: string): this;
/**
* Writes a collection of lines to the output. Each line is indented automatically and ended with the endOfLineString.
* @param values - The lines to write.
* @param delimiter - An optional delimiter to be written at the end of each line, except for the last one.
*/
writeLines(values: string[], delimiter?: string): this;
/**
* Writes a single whitespace character to the output.
*/
writeWhiteSpace(): this;
}
declare const BitmarkParserType: Readonly<{
peggy: "peggy";
}> & _ncoderz_superenum.EnumExtensions<"peggy">;
type BitmarkParserTypeType = EnumType<typeof BitmarkParserType>;
declare const InfoFormat: Readonly<{
text: "text";
json: "json";
pojo: "pojo";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
text: "text";
json: "json";
pojo: "pojo";
}>>;
type InfoFormatType = EnumType<typeof InfoFormat>;
declare const InfoType: Readonly<{
list: "list";
deprecated: "deprecated";
all: "all";
bit: "bit";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
list: "list";
deprecated: "deprecated";
all: "all";
bit: "bit";
}>>;
type InfoTypeType = EnumType<typeof InfoType>;
interface ParserJson {
version?: string;
bitmarkVersion?: string;
commentedBitType?: string;
internalComments?: string[];
warnings?: ParserError[];
errors?: ParserError[];
}
interface BitWrapperJson {
bitmark?: string;
bit: BitJson;
parser?: ParserJson;
}
/**
* A parser for parsing bitmark JSON to bitmark AST
*/
declare class JsonParser {
/**
* Convert JSON to AST.
*
* The JSON can be a bit or a bitwrapper and can be a string or a plain JS object
*
* @param json - bitmark JSON as a string or a plain JS object
* @returns bitmark AST
*/
toAst(json: unknown): BitmarkAst;
/**
* Preprocess bitmark JSON into a standard format (BitWrapperJson[] object) from either a bit or a bitwrapper
* as a string or a plain JS object
*
* @param json - bitmark JSON as a string or a plain JS object
* @returns bitmark JSON in a standard format (BitWrapperJson[] object)
*/
preprocessJson(json: string | unknown): BitWrapperJson[];
/**
* Check if a plain JS object is valid BitWrapper JSON
*
* @param bitWrapper - a plain JS object that might be BitWrapper JSON
* @returns true if BitWrapper JSON, otherwise false
*/
isBitWrapper(bitWrapper: unknown): boolean;
/**
* Check if a plain JS object is valid Bit JSON
*
* @param bitWrapper - a plain JS object that might be Bit JSON
* @returns true if Bit JSON, otherwise false
*/
isBit(bit: unknown): boolean;
/**
* Convert a Bit to BitWrapper
*
* @param bit a valid Bit
* @returns the Bit wrapper in a BitWrapper
*/
bitToBitWrapper(bit: BitJson): BitWrapperJson;
private bitToAst;
private processStatements;
private processResponses;
private processBotResponse;
private processListItems;
private getResourceType;
private processResources;
private processBody;
private processFooter;
private processTitle;
private processReference;
private parseExample;
}
interface BitmarkParserOptions {
parserType?: BitmarkParserTypeType;
}
declare class BitmarkParser {
protected jsonParser: JsonParser;
/**
* Convert Bitmark markup to AST.
*
* The Bitmark markup should be a string.
*
* @param json - bitmark JSON as a string or a plain JS object
* @param _options - unused
* @returns bitmark AST
*/
toAst(bitmark: string, _options?: BitmarkParserOptions): BitmarkAst;
}
/**
* Writer to write to a stream.
*/
declare abstract class StreamWriter implements Writer {
private _stream;
endOfLineString: string;
private lastWrite;
get isSync(): boolean;
/**
* Get the current write stream
*/
get stream(): NodeJS.WritableStream | undefined;
/**
* Set the current write stream
*/
set stream(stream: NodeJS.WritableStream | undefined);
abstract open(): Promise<void>;
abstract close(): Promise<void>;
openSync(): void;
closeSync(): void;
writeLine(value?: string): this;
writeLines(values: string[], delimiter?: string): this;
write(value: string): this;
writeWhiteSpace(): this;
getLastWrite(): string;
}
/**
* Options for file writing
*/
interface FileOptions {
/**
* Append to a file if true, otherwise overwrite
*/
append?: boolean;
/**
* Character encoding, defaults to 'utf8'
*/
encoding?: BufferEncoding;
}
/**
* Writer to write to a file.
*/
declare class FileWriter extends StreamWriter {
private _path;
private _append;
private _encoding;
/**
* Create a writer to write to a file.
*
* @param path - path of file to write
* @param options - options for file writing
*/
constructor(path: PathLike, options?: FileOptions);
get path(): PathLike;
get append(): boolean;
get encoding(): BufferEncoding;
open(): Promise<void>;
close(): Promise<void>;
}
/**
* Info options for the parser
*/
interface InfoOptions {
/**
* Specify the type of information to return, overriding the default (list)
* - list: list of supported bits
* - deprecated: list of deprecated bits
* - all: list of supported bits and deprecated bits
* - bit: configuration for a specific bit, or all bits
*/
type?: InfoTypeType;
/**
* Specify the bit type to return, overriding the default (all)
*/
bit?: string;
/**
* Specify the output format, overriding the default (text)
*/
outputFormat?: InfoFormatType;
/**
* Prettify the JSON.
*
* If not set or false, JSON will not be prettified.
* If true, JSON will be prettified with an indent of 2.
* If a positive integer, JSON will be prettified with an indent of this number.
*
* If prettify is set, a string will be returned if possible.
*/
prettify?: boolean | number;
}
/**
* Config generation options for the parser
*/
interface GenerateConfigOptions {
}
/**
* Conversion options for bitmark / JSON conversion
*/
interface ConvertOptions {
/**
* The version of bitmark to output.
* If not specified, the version will be 3.
*
* Specifying the version will set defaults for other options.
* - Bitmark v2:
* - bitmarkOptions.cardSetVersion: 1
* - jsonOptions.textAsPlainText: true
* - Bitmark v3:
* - bitmarkOptions.cardSetVersion: 2
* - jsonOptions.textAsPlainText: false
*
*/
bitmarkVersion?: BitmarkVersionType;
/**
* Specify the bitmark parser to use, overriding the default
*/
bitmarkParserType?: BitmarkParserTypeType;
/**
* Set to force input to be interpreted as a particular format, overriding the auto-detection
* Auto-detection can fail or open unwanted files for strings that look like paths
*/
inputFormat?: InputType;
/**
* Specify the output format, overriding the default
*/
outputFormat?: OutputType;
/**
* Specify a file to write the output to
*/
outputFile?: string;
/**
* Options for the output file
*/
fileOptions?: FileOptions;
/**
* Options for bitmark generation
*/
bitmarkOptions?: BitmarkOptions;
/**
* Options for JSON generation
*/
jsonOptions?: JsonOptions;
}
/**
* Prettify options for bitmark / JSON prettify / validate
*/
interface UpgradeOptions {
/**
* The version of bitmark to output.
* If not specified, the version will be 3.
*
* Specifying the version will set defaults for other options.
* - Bitmark v2:
* - bitmarkOptions.cardSetVersion: 1
* - jsonOptions.textAsPlainText: true
* - Bitmark v3:
* - bitmarkOptions.cardSetVersion: 2
* - jsonOptions.textAsPlainText: false
*
*/
bitmarkVersion?: BitmarkVersionType;
/**
* Specify the bitmark parser to use, overriding the default
*/
bitmarkParserType?: BitmarkParserTypeType;
/**
* Set to force input to be interpreted as a particular format, overriding the auto-detection
* Auto-detection can fail or open unwanted files for strings that look like paths
*/
inputFormat?: InputType;
/**
* Specify a file to write the output to
*/
outputFile?: string;
/**
* Options for the output file
*/
fileOptions?: FileOptions;
/**
* Options for bitmark generation
*/
bitmarkOptions?: BitmarkOptions;
/**
* Options for JSON generation
*/
jsonOptions?: JsonOptions;
}
/**
* Conversion options for bitmark text / JSON conversion
*/
interface ConvertTextOptions {
/**
* Specify the text format (default: bitmark++)
*/
textFormat?: BodyTextFormatType;
/**
* Specify the text location (default: body)
*/
textLocation?: TextLocationType;
/**
* Set to force input to be interpreted as a particular format, overriding the auto-detection
* Auto-detection can fail or open unwanted files for strings that look like paths
*/
inputFormat?: InputType;
/**
* Specify a file to write the output to
*/
outputFile?: string;
/**
* Options for the output file
*/
fileOptions?: FileOptions;
/**
* Options for JSON generation
*/
jsonOptions?: TextJsonOptions;
}
/**
* Create AST options
*/
interface CreateAstOptions {
/**
* Set to force input to be interpreted as a particular format, overriding the auto-detection
* Auto-detection can fail or open unwanted files for strings that look like paths
*/
inputFormat?: InputType;
}
/**
* Breakscape options
*/
interface BreakscapeOptions {
/**
* Set to force input to be interpreted as a particular format, overriding the auto-detection
* Auto-detection can fail or open unwanted files for strings that look like paths
*/
inputFormat?: InputType;
/**
* Specify a file to write the output to
*/
outputFile?: string;
/**
* Options for the output file
*/
fileOptions?: FileOptions;
/**
* Specify the text format (default: bitmark++)
*/
textFormat?: BodyTextFormatType;
/**
* Specify the text location (default: body)
*/
textLocation?: TextLocationType;
}
/**
* Unbreakscape options
*/
interface UnbreakscapeOptions {
/**
* Set to force input to be interpreted as a particular format, overriding the auto-detection
* Auto-detection can fail or open unwanted files for strings that look like paths
*/
inputFormat?: InputType;
/**
* Specify a file to write the output to
*/
outputFile?: string;
/**
* Options for the output file
*/
fileOptions?: FileOptions;
/**
* Specify the text format (default: bitmark++)
*/
textFormat?: BodyTextFormatType;
/**
* Specify the text location (default: body)
*/
textLocation?: TextLocationType;
}
/**
* Input type enumeration
*/
declare const Input: Readonly<{
/**
* Input is as a string
*/
string: "string";
/**
* Input is as a file path
*/
file: "file";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
/**
* Input is as a string
*/
string: "string";
/**
* Input is as a file path
*/
file: "file";
}>>;
type InputType = EnumType<typeof Input>;
/**
* Output type enumeration
*/
declare const Output: Readonly<{
/**
* Output bitmark string
*/
bitmark: "bitmark";
/**
* Output JSON as a plain JS object, or a file
*/
json: "json";
/**
* Output AST as a plain JS object, or a file
*/
ast: "ast";
}> & _ncoderz_superenum.EnumExtensions<EnumType<{
/**
* Output bitmark string
*/
bitmark: "bitmark";
/**
* Output JSON as a plain JS object, or a file
*/
json: "json";
/**
* Output AST as a plain JS object, or a file
*/
ast: "ast";
}>>;
type OutputType = EnumType<typeof Output>;
/**
* Options for bitmark text JSON generation
*/
interface TextJsonOptions {
/**
* Prettify the JSON.
*
* If not set or false, JSON will not be prettified.
* If true, JSON will be prettified with an indent of 2.
* If a positive integer, JSON will be prettified with an indent of this number.
*
* If prettify is set, a string will be returned if possible.
*/
prettify?: boolean | number;
/**
* Stringify the JSON.
*
* If not set or false, JSON will be returned as a plain JS object.
* It true, JSON will be stringified.
*
* If prettify is set, it will override this setting.
*/
stringify?: boolean;
/**
* [development only]
* Generate debug information in the output.
*/
debugGenerationInline?: boolean;
}
/**
* Bitmark tool for manipulating bitmark in all its formats.
*
*/
declare class BitmarkParserGenerator {
protected ast: Ast;
protected jsonParser: JsonParser;
protected bitmarkParser: BitmarkParser;
protected textParser: TextParser;
protected textGenerator: TextGenerator;
/**
* Get the version of the bitmark-parser-generator library
*/
version(): string;
/**
* Get information about the bitmark-parser-generator library
*/
info(options?: InfoOptions): unknown;
/**
* Generate the new configuration for the bitmark parser.
*/
generateConfig(options?: GenerateConfigOptions): void;
/**
* Convert bitmark from bitmark to JSON, or JSON to bitmark.
*
* Input type is detected automatically and may be:
* - string: bitmark, JSON, or AST
* - object: JSON or AST
* - file: bitmark, JSON, or AST
*
* Output type is selected automatically based on input type detection:
* - input(JSON/AST) ==> output(bitmark)
* - input(bitmark) ==> output(JSON)
*
* By default, the result is returned as a string for bitmark, or a plain JS object for JSON/AST.
*
* The options can be used to write the output to a file and to set conversion options or override defaults.
*
* If both the input and output formats are the same, the input will be validated and rewritten.
* This feature be used to upgrade bitmark or JSON to the latest version.
*
* @param input - bitmark or JSON or AST as a string, JSON or AST as plain JS object, or path to a file containing
* bitmark, JSON, or AST.
* @param options - the conversion options
* @returns A string if converting to bitmark, a plain JS object if converting to JSON, or
* void if writing to a file
* @throws Error if any error occurs
*/
convert(input: string | unknown, options?: ConvertOptions): string | unknown | void;
/**
* Upgrade bitmark or JSON, upgrading to the latest supported syntax, removing unrecognised data in the process.
*
* THIS FEATURE SHOULD BE USED WITH CAUTION. IT WILL POTENTIALLY DELETE DATA.
*
* Input type is detected automatically and may be:
* - string: bitmark, JSON
* - object: JSON
* - file: bitmark, JSON
*
* Output type is the same as the detected input type
*
* By default, the result is returned as a string for bitmark, or a plain JS object for JSON.
*
* The options can be used to write the output to a file and to set conversion options or override defaults.
*
* If both the input and output formats are the same, the input will be validated and rewritten.
*
* @param input - bitmark or JSON or AST as a string, JSON or AST as plain JS object, or path to a file containing
* bitmark, JSON, or AST.
* @param options - the conversion options
* @returns Promise that resolves to string if upgrading to bitmark, a plain JS object if converting to JSON, or
* void if writing to a file
* @throws Error if any error occurs
*/
upgrade(input: string | unknown, options?: UpgradeOptions): string | unknown | void;
/**
* Create a bitmark AST (Abstract Syntax Tree) from bitmark or JSON or AST
*
* Input type is detected automatically and may be string, object (JSON or AST), or file
*
* @param input the JSON or bitmark to convert to a bitmark AST
* @param options - the create AST options
* @returns bitmark AST
* @throws Error if any error occurs
*/
createAst(input: unknown, options?: CreateAstOptions): BitmarkAst;
/**
* Convert bitmark text from JSON, or JSON to bitmark text.
*
* Input type is detected automatically and may be:
* - string: bitmark text or JSON
* - object: JSON
* - file: bitmark text or JSON
*
* Output type is selected automatically based on input type detection:
* - input(JSON) ==> output(bitmark text)
* - input(bitmark text) ==> output(JSON)
*
* By default, the result is returned as a string for bitmark text, or a plain JS object for JSON.
*
* The options can be used to write the output to a file and to set conversion options or override defaults.
*
* @param input - bitmark text or JSON as a string, JSON as plain JS object, or path to a file containing
* bitmark text or JSON.
* @param options - the conversion options
* @returns Promise that resolves to string if converting to bitmark text, a plain JS object if converting to JSON, or
* void if writing to a file
* @throws Error if any error occurs
*/
convertText(input: string | unknown, options?: ConvertTextOptions): string | unknown | void;
/**
* Breakscape bitmark text.
*
* Input type is detected automatically and may be:
* - string: text
* - file: path to a file containing text
*
* By default, the result is returned as a string.
* By default, the text is breakscaped as if it was bitmark text in the body.
* Use the options to change this behaviour.
*
* The options can be used to write the output to a file.
*
* @param input - text, or path to a file containing text.
* @param options - the conversion options
* @returns breakscaped string, or void if writing to a file
* @throws Error if any error occurs
*/
breakscapeText(input: string, options?: BreakscapeOptions): string | void;
/**
* Unescape (unbreakscape) bitmark text
*
* Input type is detected automatically and may be:
* - string: text
* - file: path to a file containing text
*
* By default, the result is returned as a string.
* By default, the text is unbreakscaped as if it was bitmark text in the body.
* Use the options to change this behaviour.
*
* The options can be used to write the output to a file.
*
* @param input - text, or path to a file containing text.
* @param options - the conversion options
* @returns unbreakscaped string, or void if writing to a file
* @throws Error if any error occurs
*/
unbreakscapeText(input: string, options?: UnbreakscapeOptions): string | void;
/**
* Stringify / prettify a plain JS object to a JSON string, depending on the JSON options
*
* @param json
* @param options
* @param forceStringify
* @returns
*/
private jsonStringifyPrettify;
/**
* Get the supported bits as a formatted strings
*
* @param supportedBits
* @returns
*/
private supportedBitsAsString;
}
/**
* Generate bitmark markup from a bitmark AST as a string
*/
declare class BitmarkStringGenerator implements Generator<BitmarkAst, string> {
private generator;
private writer;
/**
* Generate bitmark markup from a bitmark AST as a string
*
* @param bitmarkVersion - bitmark version, use null to use latest version
* @param options - bitmark generation options
*/
constructor(options?: BitmarkGeneratorOptions);
/**
* Generate bitmark markup from bitmark AST as a string
*
* @param ast bitmark AST
*/
generate(ast: BitmarkAst): Promise<string>;
/**
* Generate bitmark markup from bitmark AST as a string synchronously
*
* @param ast bitmark AST
*/
generateSync(ast: BitmarkAst): string;
}
/**
* Generate bitmark JSON from a bitmark AST as a string
*/
declare class JsonStringGenerator implements Generator<BitmarkAst, string> {
private generator;
private writer;
/**
* Generate bitmark JSON from a bitmark AST as a string
*
* @param options - JSON generation options
*/
constructor(options?: JsonGeneratorOptions);
/**
* Generate bitmark JSON from bitmark AST as a string
*
* @param ast bitmark AST
*/
generate(ast: BitmarkAst): Promise<string>;
/**
* Generate bitmark JSON from bitmark AST as a string synchronously
*
* @param ast bitmark AST
*/
generateSync(ast: BitmarkAst): string;
}
interface ParseOptions {
startRule?: string;
}
type Parse = (str: string, options?: ParseOptions) => TextAst | string;
declare const parse: Parse;
/**
* Bitmark file generator options
*/
interface BitmarkFileGeneratorOptions extends BitmarkGeneratorOptions {
/**
* The options for file output.
*/
fileOptions?: FileOptions;
/**
* If true, the file will be generated asynchronously - generateSync() will throw an error.
* If false, the file will be generated synchronously.
*
* Defaults to false.
*/
async?: boolean;
}
/**
* Generate bitmark markup from a bitmark AST as a file
*/
declare class BitmarkFileGenerator implements Generator<BitmarkAst> {
private generator;
private async;
/**
* Generate bitmark markup from a bitmark AST as a file
*
* @param path - path of file to generate
* @param options - bitmark generation options
*/
constructor(path: PathLike, options?: BitmarkFileGeneratorOptions);
/**
* Generate bitmark markup from bitmark AST as a file
*
* @param ast bitmark AST
*/
generate(ast: BitmarkAst): Promise<void>;
/**
* Generate bitmark markup from bitmark AST as a file synchronously
*
* @param ast bitmark AST
*/
generateSync(_ast: BitmarkAst): void;
}
/**
* JSON file generator options
*/
interface JsonFileGeneratorOptions extends JsonGeneratorOptions {
/**
* The options for file output.
*/
fileOptions?: FileOptions;
/**
* If true, the file will be generated asynchronously - generateSync() will throw an error.
* If false, the file will be generated synchronously.
*
* Defaults to false.
*/
async?: boolean;
}
/**
* Generate bitmark JSON from a bitmark AST as a file
*
*/
declare class JsonFileGenerator implements Generator<BitmarkAst> {
private generator;
private async;
/**
* Generate bitmark JSON from a bitmark AST as a file
*
* @param path - path of file to generate
* @param bitmarkVersion - bitmark version, use null to use latest version
* @param fileOptions - file options
* @param bitmarkOptions - bitmark generation options
*/
constructor(path: PathLike, options?: JsonFileGeneratorOptions);
/**
* Generate bitmark JSON from bitmark AST as a file
*
* @param ast bitmark AST
*/
generate(ast: BitmarkAst): Promise<void>;
/**
* Generate bitmark JSON from bitmark AST as a file synchronously
*
* @param ast bitmark AST
*/
generateSync(_ast: BitmarkAst): void;
}
export { type AppLinkResourceJson, type AppLinkResourceWrapperJson, type ArticleResourceJson, type ArticleResourceWrapperJson, Ast, type AstWalkCallbacks, type AudioEmbedResourceJson, type AudioEmbedResourceWrapperJson, type AudioLinkResourceJson, type AudioLinkResourceWrapperJson, type AudioResourceJson, type AudioResourceWrapperJson, type Bit, type BitJson, BitType, type BitTypeType, type BitWrapperJson, type BitmarkAst, BitmarkFileGenerator, BitmarkGenerator, type BitmarkOptions, BitmarkParser, BitmarkParserGenerator, BitmarkParserType, type BitmarkParserTypeType, BitmarkStringGenerator, BitmarkVersion, type BitmarkVersionType, type Body, type BodyBitJson, type BodyBitsJson, type BodyPart, BodyTextFormat, type BodyTextFormatType, type BookJson, type BookReferenceJson, type BotResponseJson, type BreakscapeOptions, type BreakscapedString, Builder, type CardBit, type CardNode, CardSetVersion, type CardSetVersionType, type ChoiceJson, type ConvertOptions, type ConvertTextOptions, type CreateAstOptions, type DefinitionListItemJson, type DocumentDownloadResourceJson, type DocumentDownloadResourceWrapperJson, type DocumentEmbedResourceJson, type DocumentEmbedResourceWrapperJson, type DocumentLinkResourceJson, type DocumentLinkResourceWrapperJson, type DocumentResourceJson, type DocumentResourceWrapperJson, type Example, type ExampleJson, type ExtraProperties, type FeedbackChoiceJson, type FeedbackJson, type FeedbackReasonJson, type FileOptions, FileWriter, type FlashcardJson, type Footer, type GapJson, type Generator, type HeadingJson, type HighlightJson, type HighlightTextJson, type ImageLinkResourceJson, type ImageLinkResourceWrapperJson, type ImageResourceJson, type ImageResourceWrapperJson, type ImageSourceJson, InfoFormat, type InfoFormatType, type InfoOptions, InfoType, type InfoTypeType, type IngredientJson, Input, type InputType, JsonFileGenerator, JsonGenerator, type JsonOptions, JsonParser, JsonStringGenerator, type ListItemJson, type MarkConfigJson, type MarkJson, type MatrixCellJson, type MatrixJson, type Node, type NodeInfo, NodeType, type NodeTypeType, Output, type OutputType, type PairJson, type ParserJson, type PersonJson, type UpgradeOptions as PrettifyOptions, type PronunciationTableCellJson, type PronunciationTableJson, type Property, type QuestionJson, type QuizJson, type RatingLevelStartEndJson, ResourceBuilder, type ResourceDataJson, type ResourceJson, type ResourceTypeType, type ResourceWrapperJson, type ResponseJson, type SelectJson, type SelectOptionJson, type ServingsJson, type StatementJson, type StillImageFilmEmbedResourceJson, type StillImageFilmEmbedResourceWrapperJson, type StillImageFilmLinkResourceJson, type StillImageFilmLinkResourceWrapperJson, type StillImageFilmResourceJson, type StillImageFilmResourceWrapperJson, StreamWriter, StringWriter, type TableJson, type TechnicalTermJson, type JsonText as Text, type TextAndIconJson, type TextAst, type TextJsonOptions, type UnbreakscapeOptions, type UpgradeOptions, type VideoEmbedResourceJson, type VideoEmbedResourceWrapperJson, type VideoLinkResourceJson, type VideoLinkResourceWrapperJson, type VideoResourceJson, type VideoResourceWrapperJson, type WebsiteLinkResourceJson, type WebsiteLinkResourceWrapperJson, type Writer, parse as bitmarkTextParse };