@gmb/bitmark-parser-generator 5.22.0 → 5.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -269,6 +269,7 @@ declare const BitType: {
269
269
  readonly footNote: "foot-note";
270
270
  readonly formFreeText: "form-free-text";
271
271
  readonly formula: "formula";
272
+ readonly formulaImage: "formula-image";
272
273
  readonly gapText: "gap-text";
273
274
  readonly gapTextInstructionGrouped: "gap-text-instruction-grouped";
274
275
  readonly glossaryTerm: "glossary-term";
@@ -675,12 +676,17 @@ declare const ConfigKey: {
675
676
  readonly group_standardAllBits: "group_standardAllBits";
676
677
  readonly group_standardItemLead: "group_standardItemLead";
677
678
  readonly group_standardItemLeadInstructionHint: "group_standardItemLeadInstructionHint";
679
+ readonly group_standardInstructionHint: "group_standardInstructionHint";
678
680
  readonly group_standardTags: "group_standardTags";
681
+ readonly group_standardTagsNoItemLead: "group_standardTagsNoItemLead";
679
682
  readonly group_imageSource: "group_imageSource";
680
683
  readonly group_technicalTerm: "group_technicalTerm";
681
684
  readonly group_person: "group_person";
682
685
  readonly group_gap: "group_gap";
683
686
  readonly group_trueFalse: "group_trueFalse";
687
+ readonly group_trueFalseInlineHighlight: "group_trueFalseInlineHighlight";
688
+ readonly group_trueFalseInlineSelect: "group_trueFalseInlineSelect";
689
+ readonly group_trueFalseResponses: "group_trueFalseResponses";
684
690
  readonly group_markConfig: "group_markConfig";
685
691
  readonly group_mark: "group_mark";
686
692
  readonly group_bookCommon: "group_bookCommon";
@@ -688,13 +694,17 @@ declare const ConfigKey: {
688
694
  readonly group_advertisingCommon: "group_advertisingCommon";
689
695
  readonly group_platformStylesCommon: "group_platformStylesCommon";
690
696
  readonly group_quizCommon: "group_quizCommon";
697
+ readonly group_backgroundWallpaper: "group_backgroundWallpaper";
698
+ readonly group_imageNoZoom: "group_imageNoZoom";
691
699
  readonly group_resourceBitTags: "group_resourceBitTags";
692
700
  readonly group_resourceCommon: "group_resourceCommon";
693
701
  readonly group_resourceImageCommon: "group_resourceImageCommon";
702
+ readonly group_resourceImageCommonNoZoom: "group_resourceImageCommonNoZoom";
694
703
  readonly group_resourceAudioCommon: "group_resourceAudioCommon";
695
704
  readonly group_resourceVideoCommon: "group_resourceVideoCommon";
696
705
  readonly group_resourceIcon: "group_resourceIcon";
697
706
  readonly group_resourceImage: "group_resourceImage";
707
+ readonly group_resourceImageNoZoom: "group_resourceImageNoZoom";
698
708
  readonly group_resourceImageEmbed: "group_resourceImageEmbed";
699
709
  readonly group_resourceImageLink: "group_resourceImageLink";
700
710
  readonly group_resourceImageResponsive: "group_resourceImageResponsive";
@@ -818,6 +828,7 @@ declare const ConfigKey: {
818
828
  readonly property_formula: "@formula";
819
829
  readonly property_fullName: "@fullName";
820
830
  readonly property_groupTag: "@groupTag";
831
+ readonly property_gUri: "@gUri";
821
832
  readonly property_handInAcceptFileType: "@handInAcceptFileType";
822
833
  readonly property_handInInstruction: "@handInInstruction";
823
834
  readonly property_handInRequirement: "@handInRequirement";
@@ -952,6 +963,7 @@ declare const ConfigKey: {
952
963
  readonly property_siteName: "@siteName";
953
964
  readonly property_size: "@size";
954
965
  readonly property_slug: "@slug";
966
+ readonly property_sourceBB: "@sourceBB";
955
967
  readonly property_sourceDocument: "@sourceDocument";
956
968
  readonly property_sourceRL: "@sourceRL";
957
969
  readonly property_spaceId: "@spaceId";
@@ -961,6 +973,7 @@ declare const ConfigKey: {
961
973
  readonly property_src4x: "@src4x";
962
974
  readonly property_srcAlt: "@srcAlt";
963
975
  readonly property_stripePricingTableId: "@stripePricingTableId";
976
+ readonly property_stripePricingTableDescriptiveName: "@stripePricingTableDescriptiveName";
964
977
  readonly property_stripePublishableKey: "@stripePublishableKey";
965
978
  readonly property_subject: "@subject";
966
979
  readonly property_subtype: "@subtype";
@@ -1647,6 +1660,7 @@ interface BitJson {
1647
1660
  bitLevel: number;
1648
1661
  format: string;
1649
1662
  id: string | string[];
1663
+ gUri: string;
1650
1664
  internalComment: string | string[];
1651
1665
  customerId: string;
1652
1666
  customerExternalId: string | string[];
@@ -1697,6 +1711,7 @@ interface BitJson {
1697
1711
  bubbleTag: string | string[];
1698
1712
  extractorTag: string | string[];
1699
1713
  extractorInternal: string | string[];
1714
+ sourceBB?: number[] | number[][];
1700
1715
  levelCEFRp: string;
1701
1716
  levelCEFR: string;
1702
1717
  levelILR: string;
@@ -1781,6 +1796,7 @@ interface BitJson {
1781
1796
  codeLineNumbers: boolean;
1782
1797
  codeMinimap: boolean;
1783
1798
  stripePricingTableId: string;
1799
+ stripePricingTableDescriptiveName: string;
1784
1800
  stripePublishableKey: string;
1785
1801
  thumbImage: string;
1786
1802
  scormSource: string;
@@ -2260,6 +2276,7 @@ interface Bit {
2260
2276
  resourceType?: ResourceTypeType;
2261
2277
  isCommented?: boolean;
2262
2278
  id?: Property;
2279
+ gUri?: Property;
2263
2280
  internalComment?: Property;
2264
2281
  customerId?: Property;
2265
2282
  customerExternalId?: Property;
@@ -2315,6 +2332,7 @@ interface Bit {
2315
2332
  bubbleTag?: Property;
2316
2333
  extractorTag?: Property;
2317
2334
  extractorInternal?: Property;
2335
+ sourceBB?: number[][];
2318
2336
  levelCEFRp?: Property;
2319
2337
  levelCEFR?: Property;
2320
2338
  levelILR?: Property;
@@ -2402,6 +2420,7 @@ interface Bit {
2402
2420
  codeLineNumbers?: Property;
2403
2421
  codeMinimap?: Property;
2404
2422
  stripePricingTableId?: Property;
2423
+ stripePricingTableDescriptiveName?: Property;
2405
2424
  stripePublishableKey?: Property;
2406
2425
  thumbImage?: Property;
2407
2426
  scormSource?: Property;
@@ -2840,6 +2859,8 @@ declare const NodeType: {
2840
2859
  readonly gmbExternalShopItems: "gmbExternalShopItems";
2841
2860
  readonly groupTag: "groupTag";
2842
2861
  readonly groupTagValue: "groupTagValue";
2862
+ readonly gUri: "gUri";
2863
+ readonly gUriValue: "gUriValue";
2843
2864
  readonly handInAcceptFileType: "handInAcceptFileType";
2844
2865
  readonly handInAcceptFileTypeValue: "handInAcceptFileTypeValue";
2845
2866
  readonly handInInstruction: "handInInstruction";
@@ -3180,6 +3201,8 @@ declare const NodeType: {
3180
3201
  readonly solution: "solution";
3181
3202
  readonly solutions: "solutions";
3182
3203
  readonly solutionsValue: "solutionsValue";
3204
+ readonly sourceBB: "sourceBB";
3205
+ readonly sourceBBValue: "sourceBBValue";
3183
3206
  readonly sourceDocument: "sourceDocument";
3184
3207
  readonly sourceDocumentValue: "sourceDocumentValue";
3185
3208
  readonly sourceRL: "sourceRL";
@@ -3205,6 +3228,8 @@ declare const NodeType: {
3205
3228
  readonly stillImageFilmLink: "stillImageFilmLink";
3206
3229
  readonly stripePricingTableId: "stripePricingTableId";
3207
3230
  readonly stripePricingTableIdValue: "stripePricingTableIdValue";
3231
+ readonly stripePricingTableDescriptiveName: "stripePricingTableDescriptiveName";
3232
+ readonly stripePricingTableDescriptiveNameValue: "stripePricingTableDescriptiveNameValue";
3208
3233
  readonly stripePublishableKey: "stripePublishableKey";
3209
3234
  readonly stripePublishableKeyValue: "stripePublishableKeyValue";
3210
3235
  readonly subject: "subject";
@@ -3789,6 +3814,60 @@ declare const Tag: {
3789
3814
  };
3790
3815
  type TagType = EnumType<typeof Tag>;
3791
3816
 
3817
+ declare const TagFormat: {
3818
+ readonly none: "none";
3819
+ readonly plainText: "plainText";
3820
+ readonly bitmarkText: "bitmarkText";
3821
+ readonly number: "number";
3822
+ readonly boolean: "boolean";
3823
+ readonly invertedBoolean: "invertedBoolean";
3824
+ readonly enumeration: "enumeration";
3825
+ readonly coordinates: "coordinates";
3826
+ };
3827
+ type TagFormatType = EnumType<typeof TagFormat>;
3828
+
3829
+ declare const CardSetConfigKey: {
3830
+ readonly flashcard: "flashcard";
3831
+ readonly flashcard1: "flashcard1";
3832
+ readonly definitionList: "definitionList";
3833
+ readonly elements: "elements";
3834
+ readonly statements: "statements";
3835
+ readonly quiz: "quiz";
3836
+ readonly quizResponses: "quizResponses";
3837
+ readonly feedback: "feedback";
3838
+ readonly questions: "questions";
3839
+ readonly matchPairs: "matchPairs";
3840
+ readonly matchAudioPairs: "matchAudioPairs";
3841
+ readonly matchImagePairs: "matchImagePairs";
3842
+ readonly matchMatrix: "matchMatrix";
3843
+ readonly table: "table";
3844
+ readonly tableExtended: "tableExtended";
3845
+ readonly pronunciationTable: "pronunciationTable";
3846
+ readonly botActionResponses: "botActionResponses";
3847
+ readonly exampleBitList: "exampleBitList";
3848
+ readonly pageFooterSections: "pageFooterSections";
3849
+ readonly clozeList: "clozeList";
3850
+ readonly ingredients: "ingredients";
3851
+ readonly bookReferenceList: "bookReferenceList";
3852
+ };
3853
+ type CardSetConfigKeyType = EnumType<typeof CardSetConfigKey>;
3854
+
3855
+ /**
3856
+ * Type definitions for the raw configuration data.
3857
+ *
3858
+ */
3859
+
3860
+ /**
3861
+ * JSON-pattern value for the new (export) jsonKey form. See specs/JSONKEY_SYNTAX.md.
3862
+ *
3863
+ * Stored verbatim in the raw configs and emitted under the field name `jsonKey`
3864
+ * when writing assets/config/**\/*.jsonc. Pattern-language validation (sigils,
3865
+ * scope-shifts, predicates) lives in the new parser's compiler, not here.
3866
+ */
3867
+ type ExportJsonKey = null | boolean | number | string | ExportJsonKey[] | {
3868
+ [k: string]: ExportJsonKey;
3869
+ };
3870
+
3792
3871
  declare abstract class AbstractTagConfig {
3793
3872
  readonly type: BitTagConfigKeyTypeType;
3794
3873
  readonly configKey: ConfigKeyType;
@@ -3797,6 +3876,8 @@ declare abstract class AbstractTagConfig {
3797
3876
  readonly minCount: number;
3798
3877
  readonly chain?: TagsConfig;
3799
3878
  readonly jsonKey?: string;
3879
+ readonly exportJsonKey?: ExportJsonKey;
3880
+ readonly hasExportJsonKey: boolean;
3800
3881
  readonly deprecated?: string;
3801
3882
  constructor(params: {
3802
3883
  type: BitTagConfigKeyTypeType;
@@ -3806,6 +3887,8 @@ declare abstract class AbstractTagConfig {
3806
3887
  minCount: number;
3807
3888
  chain: TagsConfig | undefined;
3808
3889
  jsonKey: string | undefined;
3890
+ exportJsonKey: ExportJsonKey | undefined;
3891
+ hasExportJsonKey: boolean;
3809
3892
  deprecated: string | undefined;
3810
3893
  });
3811
3894
  }
@@ -3822,22 +3905,14 @@ declare class MarkupTagConfig extends AbstractTagConfig {
3822
3905
  maxCount: CountType;
3823
3906
  minCount: number;
3824
3907
  chain: TagsConfig | undefined;
3908
+ jsonKey: string | undefined;
3909
+ exportJsonKey: ExportJsonKey | undefined;
3910
+ hasExportJsonKey: boolean;
3825
3911
  deprecated: string | undefined;
3826
3912
  });
3827
3913
  toString(options?: ToStringOptions$6): string;
3828
3914
  }
3829
3915
 
3830
- declare const TagFormat: {
3831
- readonly none: "none";
3832
- readonly plainText: "plainText";
3833
- readonly bitmarkText: "bitmarkText";
3834
- readonly number: "number";
3835
- readonly boolean: "boolean";
3836
- readonly invertedBoolean: "invertedBoolean";
3837
- readonly enumeration: "enumeration";
3838
- };
3839
- type TagFormatType = EnumType<typeof TagFormat>;
3840
-
3841
3916
  interface ToStringOptions$5 {
3842
3917
  includeChains?: boolean;
3843
3918
  includeConfigs?: boolean;
@@ -3855,6 +3930,8 @@ declare class PropertyTagConfig extends AbstractTagConfig {
3855
3930
  minCount: number;
3856
3931
  chain: TagsConfig | undefined;
3857
3932
  jsonKey: string | undefined;
3933
+ exportJsonKey: ExportJsonKey | undefined;
3934
+ hasExportJsonKey: boolean;
3858
3935
  format: TagFormatType | undefined;
3859
3936
  values: string[] | undefined;
3860
3937
  defaultValue: string | undefined;
@@ -3876,6 +3953,8 @@ declare class ResourceTagConfig extends AbstractTagConfig {
3876
3953
  minCount: number;
3877
3954
  chain: TagsConfig | undefined;
3878
3955
  jsonKey: string | undefined;
3956
+ exportJsonKey: ExportJsonKey | undefined;
3957
+ hasExportJsonKey: boolean;
3879
3958
  deprecated: string | undefined;
3880
3959
  });
3881
3960
  toString(options?: ToStringOptions$4): string;
@@ -3897,7 +3976,10 @@ declare class CardVariantConfig {
3897
3976
  bodyRequired?: boolean;
3898
3977
  repeatCount?: CountType;
3899
3978
  readonly jsonKey?: string | null;
3900
- constructor(tags: TagsConfig, bodyAllowed?: boolean, bodyRequired?: boolean, repeatCount?: CountType, jsonKey?: string | null);
3979
+ readonly exportJsonKey?: ExportJsonKey;
3980
+ readonly hasExportJsonKey: boolean;
3981
+ readonly format?: TextFormatType;
3982
+ constructor(tags: TagsConfig, bodyAllowed?: boolean, bodyRequired?: boolean, repeatCount?: CountType, jsonKey?: string | null, exportJsonKey?: ExportJsonKey, hasExportJsonKey?: boolean, format?: TextFormatType);
3901
3983
  toString(options?: ToStringOptions$3): string;
3902
3984
  }
3903
3985
 
@@ -3909,53 +3991,37 @@ declare class CardSideConfig {
3909
3991
  readonly name: string;
3910
3992
  readonly repeat: boolean;
3911
3993
  readonly jsonKey: string | null | undefined;
3994
+ readonly exportJsonKey?: ExportJsonKey;
3995
+ readonly hasExportJsonKey: boolean;
3912
3996
  readonly variants: CardVariantConfig[];
3913
- constructor(name: string, repeat: boolean, variants: CardVariantConfig[], jsonKey?: string | null);
3997
+ constructor(name: string, repeat: boolean, variants: CardVariantConfig[], jsonKey?: string | null, exportJsonKey?: ExportJsonKey, hasExportJsonKey?: boolean);
3914
3998
  toString(options?: ToStringOptions$2): string;
3915
3999
  }
3916
4000
 
3917
- declare const CardSetConfigKey: {
3918
- readonly flashcard: "flashcard";
3919
- readonly definitionList: "definitionList";
3920
- readonly elements: "elements";
3921
- readonly statements: "statements";
3922
- readonly quiz: "quiz";
3923
- readonly feedback: "feedback";
3924
- readonly questions: "questions";
3925
- readonly matchPairs: "matchPairs";
3926
- readonly matchAudioPairs: "matchAudioPairs";
3927
- readonly matchImagePairs: "matchImagePairs";
3928
- readonly matchMatrix: "matchMatrix";
3929
- readonly table: "table";
3930
- readonly tableExtended: "tableExtended";
3931
- readonly pronunciationTable: "pronunciationTable";
3932
- readonly botActionResponses: "botActionResponses";
3933
- readonly exampleBitList: "exampleBitList";
3934
- readonly clozeList: "clozeList";
3935
- readonly ingredients: "ingredients";
3936
- readonly bookReferenceList: "bookReferenceList";
3937
- };
3938
- type CardSetConfigKeyType = EnumType<typeof CardSetConfigKey>;
3939
-
3940
4001
  interface ToStringOptions$1 {
3941
4002
  includeChains?: boolean;
3942
4003
  includeConfigs?: boolean;
3943
4004
  }
4005
+ interface CardSetSection {
4006
+ jsonKey: string;
4007
+ exportJsonKey?: ExportJsonKey;
4008
+ hasExportJsonKey?: boolean;
4009
+ isDefault?: boolean;
4010
+ sideJsonKey?: string;
4011
+ sideExportJsonKey?: ExportJsonKey;
4012
+ hasSideExportJsonKey?: boolean;
4013
+ minCount?: number;
4014
+ maxCount?: number;
4015
+ }
3944
4016
  declare class CardSetConfig {
3945
4017
  readonly configKey: CardSetConfigKeyType;
3946
4018
  readonly jsonKey: string | null;
3947
- readonly sections: Record<string, {
3948
- jsonKey: string;
3949
- isDefault?: boolean;
3950
- sideJsonKey?: string;
3951
- }> | undefined;
4019
+ readonly exportJsonKey?: ExportJsonKey;
4020
+ readonly hasExportJsonKey: boolean;
4021
+ readonly sections: Record<string, CardSetSection> | undefined;
3952
4022
  readonly sides: CardSideConfig[];
3953
4023
  get variants(): CardVariantConfig[][];
3954
- constructor(configKey: CardSetConfigKeyType, jsonKey: string | null, sections: Record<string, {
3955
- jsonKey: string;
3956
- isDefault?: boolean;
3957
- sideJsonKey?: string;
3958
- }> | undefined, sides: CardSideConfig[]);
4024
+ constructor(configKey: CardSetConfigKeyType, jsonKey: string | null, exportJsonKey: ExportJsonKey | undefined, hasExportJsonKey: boolean, sections: Record<string, CardSetSection> | undefined, sides: CardSideConfig[]);
3959
4025
  toString(options?: ToStringOptions$1): string;
3960
4026
  }
3961
4027
 
@@ -4144,6 +4210,7 @@ declare class Builder extends BaseBuilder {
4144
4210
  resourceType?: ResourceTypeType;
4145
4211
  isCommented?: boolean;
4146
4212
  id?: string | string[];
4213
+ gUri?: string;
4147
4214
  internalComment?: string | string[];
4148
4215
  customerId?: string;
4149
4216
  customerExternalId?: string | string[];
@@ -4199,6 +4266,7 @@ declare class Builder extends BaseBuilder {
4199
4266
  bubbleTag?: string | string[];
4200
4267
  extractorTag?: string | string[];
4201
4268
  extractorInternal?: string | string[];
4269
+ sourceBB?: number[] | number[][];
4202
4270
  levelCEFRp?: string | string[];
4203
4271
  levelCEFR?: string | string[];
4204
4272
  levelILR?: string | string[];
@@ -4281,6 +4349,7 @@ declare class Builder extends BaseBuilder {
4281
4349
  codeLineNumbers?: boolean;
4282
4350
  codeMinimap?: boolean;
4283
4351
  stripePricingTableId?: string;
4352
+ stripePricingTableDescriptiveName?: string;
4284
4353
  stripePublishableKey?: string;
4285
4354
  thumbImage?: string;
4286
4355
  scormSource?: string;
@@ -4461,6 +4530,11 @@ declare class Builder extends BaseBuilder {
4461
4530
  * @returns
4462
4531
  */
4463
4532
  protected buildGroupTags(context: BuildContext, data: Partial<GroupTagJson> | Partial<GroupTagJson>[] | undefined): GroupTagJson[] | undefined;
4533
+ /**
4534
+ * Normalise a sourceBB input into the AST shape (always number[][]).
4535
+ * Accepts a single 4-number tuple or an array of tuples; returns undefined when empty.
4536
+ */
4537
+ protected normaliseSourceBB(data: number[] | number[][] | undefined): number[][] | undefined;
4464
4538
  /**
4465
4539
  * Build groupTag node
4466
4540
  *
@@ -5552,6 +5626,7 @@ declare class BitmarkGenerator extends AstWalkerGenerator<BitmarkAst, void> {
5552
5626
  protected enter_sampleSolution(node: NodeInfo, route: NodeInfo[]): boolean;
5553
5627
  protected leaf_sampleSolution(node: NodeInfo, route: NodeInfo[]): boolean;
5554
5628
  protected leaf_reasonableNumOfChars(node: NodeInfo, route: NodeInfo[]): void;
5629
+ protected enter_sourceBB(node: NodeInfo, route: NodeInfo[]): boolean;
5555
5630
  protected leaf_additionalSolutionsValue(node: NodeInfo, route: NodeInfo[]): void;
5556
5631
  protected enter_item(node: NodeInfo, route: NodeInfo[]): boolean;
5557
5632
  protected enter_lead(node: NodeInfo, route: NodeInfo[]): boolean;
@@ -5963,6 +6038,7 @@ declare class JsonGenerator extends AstWalkerGenerator<BitmarkAst, void> {
5963
6038
  protected enter_person(node: NodeInfo, route: NodeInfo[]): boolean;
5964
6039
  protected enter_ratingLevelStart(node: NodeInfo, route: NodeInfo[]): boolean;
5965
6040
  protected enter_ratingLevelEnd(node: NodeInfo, route: NodeInfo[]): boolean;
6041
+ protected enter_sourceBB(node: NodeInfo, route: NodeInfo[]): boolean;
5966
6042
  protected enter_productId(node: NodeInfo, route: NodeInfo[]): boolean;
5967
6043
  protected enter_markConfig(_node: NodeInfo, _route: NodeInfo[]): boolean;
5968
6044
  protected enter_markConfigValue(node: NodeInfo, route: NodeInfo[]): boolean;
@@ -6886,6 +6962,63 @@ declare class JsonStringGenerator implements Generator<BitmarkAst, string> {
6886
6962
  generateSync(ast: BitmarkAst): string;
6887
6963
  }
6888
6964
 
6965
+ /** Axis-aligned bounding box: `[x0, y0, x1, y1]` (top-left + bottom-right). */
6966
+ type Bbox = [number, number, number, number];
6967
+ interface BoundingBoxEntry {
6968
+ bit: BitJson;
6969
+ wrapper: BitWrapperJson;
6970
+ /** Normalized list of boxes parsed from `bit.sourceBB` (always at least one). */
6971
+ boxes: Bbox[];
6972
+ }
6973
+ interface FromBitsOptions {
6974
+ /**
6975
+ * If provided, only include bits whose `bit.sourceRL` exactly equals this
6976
+ * value. Bits with no `sourceRL` are excluded.
6977
+ */
6978
+ sourceRL?: string;
6979
+ }
6980
+ /**
6981
+ * Index over a list of bits with `@sourceBB` tags, designed for live region
6982
+ * selection in a browser (e.g. the user drags a box and the preview updates
6983
+ * as they go). Each bit's `sourceBB` is parsed once at construction so that
6984
+ * intersection queries are pure bounding-box scans on the hot path.
6985
+ */
6986
+ declare class BoundingBoxIndex {
6987
+ private readonly _entries;
6988
+ private readonly bitmarkParser;
6989
+ private constructor();
6990
+ /**
6991
+ * Build an index from already-parsed bits. Bits without a parseable
6992
+ * `sourceBB` are dropped. Order of the input is preserved.
6993
+ *
6994
+ * Pass `options.sourceRL` to scope the index to a single source page —
6995
+ * bits whose `sourceRL` doesn't match (or is absent) are excluded.
6996
+ */
6997
+ static fromBits(wrappers: BitWrapperJson[], options?: FromBitsOptions): BoundingBoxIndex;
6998
+ /** All bits with at least one valid `sourceBB`, in input order. */
6999
+ get entries(): ReadonlyArray<BoundingBoxEntry>;
7000
+ /**
7001
+ * Bits whose ANY `sourceBB` box intersects `query` (strict overlap —
7002
+ * touching-only edges do NOT count as an intersection).
7003
+ */
7004
+ intersecting(query: Bbox): BoundingBoxEntry[];
7005
+ /**
7006
+ * Flat list of every individual `sourceBB` box that intersects `query`.
7007
+ * For a multi-box bit, only the boxes that themselves intersected are
7008
+ * returned.
7009
+ */
7010
+ intersectingBoxes(query: Bbox): Bbox[];
7011
+ /**
7012
+ * Smallest axis-aligned box that fully encloses every individual `sourceBB`
7013
+ * box that intersected the query. For a multi-box bit, only the boxes that
7014
+ * themselves intersected contribute to the union — non-intersecting boxes
7015
+ * from the same bit are ignored. Returns `null` if no box matches.
7016
+ */
7017
+ enclosingBoundingBox(query: Bbox): Bbox | null;
7018
+ /** Render selected bits back to bitmark text. Empty input returns `''`. */
7019
+ toBitmark(entries: BoundingBoxEntry[]): string;
7020
+ }
7021
+
6889
7022
  interface ParseOptions {
6890
7023
  startRule?: string;
6891
7024
  }
@@ -6981,4 +7114,4 @@ declare class JsonFileGenerator implements Generator<BitmarkAst> {
6981
7114
  generateSync(_ast: BitmarkAst): void;
6982
7115
  }
6983
7116
 
6984
- 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 CodeBlockTextNode, type CodeBlockTextNodeAttributes, type CommentMark, 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 ExtRefMark, type ExtRefMarkAttibutes, type ExtraProperties, type FeedbackChoiceJson, type FeedbackJson, type FeedbackReasonJson, type FileOptions, FileWriter, type FlashcardJson, type Footer, type FootnoteAttibutes, type FootnoteMark, type GapJson, type Generator, type GroupTagJson, type HeadingJson, type HeadingTextNode, type HeadingTextNodeAttributes, type HighlightJson, type HighlightTextJson, type ImageInlineTextNode, type ImageLinkResourceJson, type ImageLinkResourceWrapperJson, type ImageResourceJson, type ImageResourceWrapperJson, type ImageSourceJson, type ImageTextNode, type ImageTextNodeAttributes, InfoFormat, type InfoFormatType, type InfoOptions, InfoType, type InfoTypeType, type IngredientJson, Input, InputFormat, type InputFormatType, type InputType, JsonFileGenerator, JsonGenerator, type JsonOptions, JsonParser, JsonStringGenerator, type LatexTextNode, type LatexTextNodeAttributes, type LinkMark, type LinkMarkAttibutes, type ListItemJson, type ListTextNode, type ListTextNodeAttributes, type MarkConfigJson, type MarkJson, type MatrixCellJson, type MatrixJson, type MediaAttributes, 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, type RefMark, type RefMarkAttibutes, ResourceBuilder, type ResourceDataJson, type ResourceJson, type ResourceTypeType, type ResourceWrapperJson, type ResponseJson, type SectionTextNode, type SelectJson, type SelectOptionJson, type ServingsJson, type StatementJson, type StillImageFilmEmbedResourceJson, type StillImageFilmEmbedResourceWrapperJson, type StillImageFilmLinkResourceJson, type StillImageFilmLinkResourceWrapperJson, type StillImageFilmResourceJson, type StillImageFilmResourceWrapperJson, StreamWriter, StringWriter, type SymbolMark, type TableCellJson, type TableExtendedJson, type TableJson, type TableRowJson, type TableSectionJson, type TaskItemTextNode, type TaskItemTextNodeAttributes, type TechnicalTermJson, type JsonText as Text, type TextAndIconJson, type TextAst, type TextJsonOptions, type TextMark, type TextMarkAttibutes, TextMarkType, type TextMarkTypeType, type TextNode, type TextNodeAttibutes, TextNodeType, type TextNodeTypeType, type UnbreakscapeOptions, type UpgradeOptions, type VideoEmbedResourceJson, type VideoEmbedResourceWrapperJson, type VideoLinkResourceJson, type VideoLinkResourceWrapperJson, type VideoResourceJson, type VideoResourceWrapperJson, type WebsiteLinkResourceJson, type WebsiteLinkResourceWrapperJson, type Writer, type XRefMark, type XRefMarkAttibutes, parse as bitmarkTextParse };
7117
+ 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 Bbox, 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 BoundingBoxEntry, BoundingBoxIndex, type BreakscapeOptions, type BreakscapedString, Builder, type CardBit, type CardNode, CardSetVersion, type CardSetVersionType, type ChoiceJson, type CodeBlockTextNode, type CodeBlockTextNodeAttributes, type CommentMark, 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 ExtRefMark, type ExtRefMarkAttibutes, type ExtraProperties, type FeedbackChoiceJson, type FeedbackJson, type FeedbackReasonJson, type FileOptions, FileWriter, type FlashcardJson, type Footer, type FootnoteAttibutes, type FootnoteMark, type FromBitsOptions, type GapJson, type Generator, type GroupTagJson, type HeadingJson, type HeadingTextNode, type HeadingTextNodeAttributes, type HighlightJson, type HighlightTextJson, type ImageInlineTextNode, type ImageLinkResourceJson, type ImageLinkResourceWrapperJson, type ImageResourceJson, type ImageResourceWrapperJson, type ImageSourceJson, type ImageTextNode, type ImageTextNodeAttributes, InfoFormat, type InfoFormatType, type InfoOptions, InfoType, type InfoTypeType, type IngredientJson, Input, InputFormat, type InputFormatType, type InputType, JsonFileGenerator, JsonGenerator, type JsonOptions, JsonParser, JsonStringGenerator, type LatexTextNode, type LatexTextNodeAttributes, type LinkMark, type LinkMarkAttibutes, type ListItemJson, type ListTextNode, type ListTextNodeAttributes, type MarkConfigJson, type MarkJson, type MatrixCellJson, type MatrixJson, type MediaAttributes, 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, type RefMark, type RefMarkAttibutes, ResourceBuilder, type ResourceDataJson, type ResourceJson, type ResourceTypeType, type ResourceWrapperJson, type ResponseJson, type SectionTextNode, type SelectJson, type SelectOptionJson, type ServingsJson, type StatementJson, type StillImageFilmEmbedResourceJson, type StillImageFilmEmbedResourceWrapperJson, type StillImageFilmLinkResourceJson, type StillImageFilmLinkResourceWrapperJson, type StillImageFilmResourceJson, type StillImageFilmResourceWrapperJson, StreamWriter, StringWriter, type SymbolMark, type TableCellJson, type TableExtendedJson, type TableJson, type TableRowJson, type TableSectionJson, type TaskItemTextNode, type TaskItemTextNodeAttributes, type TechnicalTermJson, type JsonText as Text, type TextAndIconJson, type TextAst, type TextJsonOptions, type TextMark, type TextMarkAttibutes, TextMarkType, type TextMarkTypeType, type TextNode, type TextNodeAttibutes, TextNodeType, type TextNodeTypeType, type UnbreakscapeOptions, type UpgradeOptions, type VideoEmbedResourceJson, type VideoEmbedResourceWrapperJson, type VideoLinkResourceJson, type VideoLinkResourceWrapperJson, type VideoResourceJson, type VideoResourceWrapperJson, type WebsiteLinkResourceJson, type WebsiteLinkResourceWrapperJson, type Writer, type XRefMark, type XRefMarkAttibutes, parse as bitmarkTextParse };