1 | import { IRenderMime } from '@jupyterlab/rendermime-interfaces';
|
2 | import { ITranslator } from '@jupyterlab/translation';
|
3 | import { ReadonlyPartialJSONObject, Token } from '@lumino/coreutils';
|
4 | import { MimeModel } from './mimemodel';
|
5 | /**
|
6 | * The rendermime token.
|
7 | */
|
8 | export declare const IRenderMimeRegistry: Token<IRenderMimeRegistry>;
|
9 | export interface IRenderMimeRegistry {
|
10 | /**
|
11 | * The sanitizer used by the rendermime instance.
|
12 | */
|
13 | readonly sanitizer: IRenderMime.ISanitizer;
|
14 | /**
|
15 | * The object used to resolve relative urls for the rendermime instance.
|
16 | */
|
17 | readonly resolver: IRenderMime.IResolver | null;
|
18 | /**
|
19 | * The object used to handle path opening links.
|
20 | */
|
21 | readonly linkHandler: IRenderMime.ILinkHandler | null;
|
22 | /**
|
23 | * The LaTeX typesetter for the rendermime.
|
24 | */
|
25 | readonly latexTypesetter: IRenderMime.ILatexTypesetter | null;
|
26 | /**
|
27 | * The Markdown parser for the rendermime.
|
28 | */
|
29 | readonly markdownParser: IRenderMime.IMarkdownParser | null;
|
30 | /**
|
31 | * The ordered list of mimeTypes.
|
32 | */
|
33 | readonly mimeTypes: ReadonlyArray<string>;
|
34 | /**
|
35 | * Find the preferred mime type for a mime bundle.
|
36 | *
|
37 | * @param bundle - The bundle of mime data.
|
38 | *
|
39 | * @param safe - How to consider safe/unsafe factories. If 'ensure',
|
40 | * it will only consider safe factories. If 'any', any factory will be
|
41 | * considered. If 'prefer', unsafe factories will be considered, but
|
42 | * only after the safe options have been exhausted.
|
43 | *
|
44 | * @returns The preferred mime type from the available factories,
|
45 | * or `undefined` if the mime type cannot be rendered.
|
46 | */
|
47 | preferredMimeType(bundle: ReadonlyPartialJSONObject, safe?: 'ensure' | 'prefer' | 'any'): string | undefined;
|
48 | /**
|
49 | * Create a renderer for a mime type.
|
50 | *
|
51 | * @param mimeType - The mime type of interest.
|
52 | *
|
53 | * @returns A new renderer for the given mime type.
|
54 | *
|
55 | * @throws An error if no factory exists for the mime type.
|
56 | */
|
57 | createRenderer(mimeType: string): IRenderMime.IRenderer;
|
58 | /**
|
59 | * Create a new mime model. This is a convenience method.
|
60 | *
|
61 | * @options - The options used to create the model.
|
62 | *
|
63 | * @returns A new mime model.
|
64 | */
|
65 | createModel(options?: MimeModel.IOptions): MimeModel;
|
66 | /**
|
67 | * Create a clone of this rendermime instance.
|
68 | *
|
69 | * @param options - The options for configuring the clone.
|
70 | *
|
71 | * @returns A new independent clone of the rendermime.
|
72 | */
|
73 | clone(options?: IRenderMimeRegistry.ICloneOptions): IRenderMimeRegistry;
|
74 | /**
|
75 | * Get the renderer factory registered for a mime type.
|
76 | *
|
77 | * @param mimeType - The mime type of interest.
|
78 | *
|
79 | * @returns The factory for the mime type, or `undefined`.
|
80 | */
|
81 | getFactory(mimeType: string): IRenderMime.IRendererFactory | undefined;
|
82 | /**
|
83 | * Add a renderer factory to the rendermime.
|
84 | *
|
85 | * @param factory - The renderer factory of interest.
|
86 | *
|
87 | * @param rank - The rank of the renderer. A lower rank indicates
|
88 | * a higher priority for rendering. If not given, the rank will
|
89 | * defer to the `defaultRank` of the factory. If no `defaultRank`
|
90 | * is given, it will default to 100.
|
91 | *
|
92 | * #### Notes
|
93 | * The renderer will replace an existing renderer for the given
|
94 | * mimeType.
|
95 | */
|
96 | addFactory(factory: IRenderMime.IRendererFactory, rank?: number): void;
|
97 | /**
|
98 | * Remove a mime type.
|
99 | *
|
100 | * @param mimeType - The mime type of interest.
|
101 | */
|
102 | removeMimeType(mimeType: string): void;
|
103 | /**
|
104 | * Get the rank for a given mime type.
|
105 | *
|
106 | * @param mimeType - The mime type of interest.
|
107 | *
|
108 | * @returns The rank of the mime type or undefined.
|
109 | */
|
110 | getRank(mimeType: string): number | undefined;
|
111 | /**
|
112 | * Set the rank of a given mime type.
|
113 | *
|
114 | * @param mimeType - The mime type of interest.
|
115 | *
|
116 | * @param rank - The new rank to assign.
|
117 | *
|
118 | * #### Notes
|
119 | * This is a no-op if the mime type is not registered.
|
120 | */
|
121 | setRank(mimeType: string, rank: number): void;
|
122 | }
|
123 | export declare namespace IRenderMimeRegistry {
|
124 | /**
|
125 | * The options used to clone a rendermime instance.
|
126 | */
|
127 | interface ICloneOptions {
|
128 | /**
|
129 | * The new sanitizer used to sanitize untrusted html inputs.
|
130 | */
|
131 | sanitizer?: IRenderMime.ISanitizer;
|
132 | /**
|
133 | * The new resolver object.
|
134 | */
|
135 | resolver?: IRenderMime.IResolver;
|
136 | /**
|
137 | * The new path handler.
|
138 | */
|
139 | linkHandler?: IRenderMime.ILinkHandler;
|
140 | /**
|
141 | * The new LaTeX typesetter.
|
142 | */
|
143 | latexTypesetter?: IRenderMime.ILatexTypesetter;
|
144 | /**
|
145 | * The new Markdown parser.
|
146 | */
|
147 | markdownParser?: IRenderMime.IMarkdownParser;
|
148 | /**
|
149 | * The application language translator.
|
150 | */
|
151 | translator?: ITranslator;
|
152 | }
|
153 | }
|
154 | /**
|
155 | * The latex typesetter token.
|
156 | */
|
157 | export declare const ILatexTypesetter: Token<IRenderMime.ILatexTypesetter>;
|
158 | export interface ILatexTypesetter extends IRenderMime.ILatexTypesetter {
|
159 | }
|
160 | /**
|
161 | * The markdown parser token.
|
162 | */
|
163 | export declare const IMarkdownParser: Token<IRenderMime.IMarkdownParser>;
|
164 | export interface IMarkdownParser extends IRenderMime.IMarkdownParser {
|
165 | }
|