import '../../'; declare module '../../' { // Based on https://codemirror.net/demo/simplemode.html interface Rule { regex?: string | RegExp | undefined; token?: string | string[] | null | undefined; sol?: boolean | undefined; next?: string | undefined; push?: string | undefined; pop?: boolean | undefined; mode?: { spec: string | ModeSpec; end?: RegExp | undefined; persistent?: boolean | undefined; } | undefined; indent?: boolean | undefined; dedent?: boolean | undefined; dedentIfLineStart?: boolean | undefined; } function defineSimpleMode( name: string, // eslint-disable-next-line no-unnecessary-generics mode: { [P in K]: P extends 'meta' ? Record : Rule[] } & { start: Rule[] }, ): void; }