| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- import { Next, ToString } from "./types";
 
- declare const FUNCTION_PREFIXES: {
 
-     Function: string;
 
-     GeneratorFunction: string;
 
-     AsyncFunction: string;
 
-     AsyncGeneratorFunction: string;
 
- };
 
- /**
 
-  * Track function parser usage.
 
-  */
 
- export declare const USED_METHOD_KEY: WeakSet<(...args: unknown[]) => unknown>;
 
- /**
 
-  * Stringify a function.
 
-  */
 
- export declare const functionToString: ToString;
 
- /**
 
-  * Rewrite a stringified function to remove initial indentation.
 
-  */
 
- export declare function dedentFunction(fnString: string): string;
 
- /**
 
-  * Function parser and stringify.
 
-  */
 
- export declare class FunctionParser {
 
-     fn: (...args: unknown[]) => unknown;
 
-     indent: string;
 
-     next: Next;
 
-     key?: string | undefined;
 
-     fnString: string;
 
-     fnType: keyof typeof FUNCTION_PREFIXES;
 
-     keyQuote: string | undefined;
 
-     keyPrefix: string;
 
-     isMethodCandidate: boolean;
 
-     pos: number;
 
-     hadKeyword: boolean;
 
-     constructor(fn: (...args: unknown[]) => unknown, indent: string, next: Next, key?: string | undefined);
 
-     stringify(): string;
 
-     getPrefix(): string;
 
-     tryParse(): string | undefined;
 
-     /**
 
-      * Attempt to parse the function from the current position by first stripping
 
-      * the function's name from the front. This is not a fool-proof method on all
 
-      * JavaScript engines, but yields good results on Node.js 4 (and slightly
 
-      * less good results on Node.js 6 and 8).
 
-      */
 
-     tryStrippingName(): string | undefined;
 
-     /**
 
-      * Attempt to advance the parser past the keywords expected to be at the
 
-      * start of this function's definition. This method sets `this.hadKeyword`
 
-      * based on whether or not a `function` keyword is consumed.
 
-      */
 
-     tryParsePrefixTokens(): boolean;
 
-     /**
 
-      * Advance the parser past one element of JavaScript syntax. This could be a
 
-      * matched pair of delimiters, like braces or parentheses, or an atomic unit
 
-      * like a keyword, variable, or operator. Return a normalized string
 
-      * representation of the element parsed--for example, returns '{}' for a
 
-      * matched pair of braces. Comments and whitespace are skipped.
 
-      *
 
-      * (This isn't a full parser, so the token scanning logic used here is as
 
-      * simple as it can be. As a consequence, some things that are one token in
 
-      * JavaScript, like decimal number literals or most multi-character operators
 
-      * like '&&', are split into more than one token here. However, awareness of
 
-      * some multi-character sequences like '=>' is necessary, so we match the few
 
-      * of them that we care about.)
 
-      */
 
-     consumeSyntax(wordLikeToken?: string): string | undefined;
 
-     consumeSyntaxUntil(startToken: string, endToken: string): string | undefined;
 
-     consumeMatch(re: RegExp): RegExpExecArray | null;
 
-     /**
 
-      * Advance the parser past an arbitrary regular expression. Return `token`,
 
-      * or the match object of the regexp.
 
-      */
 
-     consumeRegExp(re: RegExp, token: string): string | undefined;
 
-     /**
 
-      * Advance the parser past a template string.
 
-      */
 
-     consumeTemplate(): "`" | undefined;
 
-     /**
 
-      * Advance the parser past any whitespace or comments.
 
-      */
 
-     consumeWhitespace(): void;
 
- }
 
- export {};
 
 
  |