import type { ExtensionMap } from './extensions'; export declare const EXTENSION_OBJECTS: ExtensionMap[]; export declare const hasExpressionExtension: (str: string) => boolean; export declare const hasNativeMethod: (method: string) => boolean; /** * A function to inject an extender function call into the AST of an expression. * This uses recast to do the transform. * * This function also polyfills optional chaining if using extended functions. * * ```ts * 'a'.method('x') // becomes * extend('a', 'method', ['x']); * * 'a'.first('x').second('y') // becomes * extend(extend('a', 'first', ['x']), 'second', ['y'])); * ``` */ export declare const extendTransform: (expression: string) => { code: string; } | undefined; /** * Extender function injected by expression extension plugin to allow calls to extensions. * * ```ts * extend(input, "functionName", [...args]); * ``` */ export declare function extend(input: unknown, functionName: string, args: unknown[]): any; export declare function extendOptional(input: unknown, functionName: string): Function | undefined; export declare function extendSyntax(bracketedExpression: string, forceExtend?: boolean): string; //# sourceMappingURL=expression-extension.d.ts.map