1 | import MarkdownIt = require('..');
|
2 | import Token = require('../token');
|
3 |
|
4 | declare namespace StateInline {
|
5 | interface Scanned {
|
6 | can_open: boolean;
|
7 | can_close: boolean;
|
8 | length: number;
|
9 | }
|
10 |
|
11 | interface Delimiter {
|
12 | marker: number;
|
13 | length: number;
|
14 | jump: number;
|
15 | token: number;
|
16 | end: number;
|
17 | open: boolean;
|
18 | close: boolean;
|
19 | }
|
20 |
|
21 | interface TokenMata {
|
22 | delimiters: Delimiter[];
|
23 | }
|
24 | }
|
25 |
|
26 | declare class StateInline {
|
27 | constructor(src: string, md: MarkdownIt, env: any, outTokens: Token[]);
|
28 |
|
29 | src: string;
|
30 | env: any;
|
31 | md: MarkdownIt;
|
32 | tokens: Token[];
|
33 | tokens_meta: Array<StateInline.TokenMata | null>;
|
34 |
|
35 | pos: number;
|
36 | posMax: number;
|
37 | level: number;
|
38 | pending: string;
|
39 | pendingLevel: number;
|
40 |
|
41 | /**
|
42 | * Stores { start: end } pairs. Useful for backtrack
|
43 | * optimization of pairs parse (emphasis, strikes).
|
44 | */
|
45 | cache: any;
|
46 |
|
47 | |
48 |
|
49 |
|
50 | delimiters: StateInline.Delimiter[];
|
51 |
|
52 |
|
53 |
|
54 |
|
55 | |
56 |
|
57 |
|
58 | pushPending(): Token;
|
59 |
|
60 | |
61 |
|
62 |
|
63 |
|
64 | push(type: string, tag: string, nesting: Token.Nesting): Token;
|
65 |
|
66 | |
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 |
|
73 | scanDelims(start: number, canSplitWord: boolean): StateInline.Scanned;
|
74 |
|
75 | Token: typeof Token;
|
76 | }
|
77 |
|
78 | export = StateInline;
|