diff --git a/types/prismjs/index.d.ts b/types/prismjs/index.d.ts index 805410d12e..5ed442c46f 100644 --- a/types/prismjs/index.d.ts +++ b/types/prismjs/index.d.ts @@ -142,10 +142,14 @@ export interface LanguageDefinition { rest?: Token[]; } -export interface Languages { +export type Languages + = LanguageMap + & LanguageMapProtocol; +export interface LanguageMap { /** Get a defined language's definition */ [key: string]: LanguageDefinition; - +} +export interface LanguageMapProtocol { /** * Extend a language definition * @param id The language definition to extend @@ -162,17 +166,18 @@ export interface Languages { * @param insert Object with the key/value pairs to insert * @param root The object that contains `inside`. If equal to Prism.languages, it can be omitted. */ - insertBefore(inside: string, before: string, insert: LanguageDefinition, root: LanguageDefinition): any; + insertBefore(inside: string, before: string, insert: LanguageDefinition, root: LanguageDefinition): LanguageDefinition; } export type HookCallback = (env: Environment) => void; -export type AvailableHooks = "before-highlightall" - | "before-sanity-check" - | "before-highlight" - | "before-insert" - | "after-highlight" - | "complete" - | "wrap"; +export type AvailableHooks + = "before-highlightall" + | "before-sanity-check" + | "before-highlight" + | "before-insert" + | "after-highlight" + | "complete" + | "wrap"; export interface Hooks { all: Array void>>;