import { TSESTree } from '@typescript-eslint/types'; /** * Methods of the TranslationBundle interface from `@jupyterlab/translation`. */ export declare const BUNDLE_METHODS: Set; /** * Property names under which a translation bundle may be stored so that the * string extractor recognizes its usages (this.trans, this._trans, * this.props.trans, props.trans). * See jupyterlab.readthedocs.io/en/stable/extension/internationalization.html#rules */ export declare const BUNDLE_PROPERTY_NAMES: Set; /** * The only accepted name for a local variable holding a translation bundle. */ export declare const BUNDLE_VARIABLE_NAME = "trans"; /** * For each bundle method, the argument indices the string extractor reads * straight from the source and must therefore be static text. * * The `domain` argument of `dcnpgettext` is deliberately left out: it selects a * catalog at runtime, it is not extracted message text. */ export declare const STATIC_ARGUMENT_INDICES: Record; /** * Skips TypeScript-only and optional-chaining wrapper nodes so the underlying * expression can be inspected. */ export declare function unwrapExpression(node: TSESTree.Node): TSESTree.Node; /** * Returns true when a member expression names one of the exact targets the * string extractor recognizes as a translation bundle: * this.trans, this._trans, props.trans, this.props.trans. * See jupyterlab.readthedocs.io/en/stable/extension/internationalization.html#rules */ export declare function isRecognizedBundleMember(node: TSESTree.MemberExpression): boolean; /** * Returns true if the node is a recognized JupyterLab translation bundle: * trans | this.trans | this._trans | props.trans | this.props.trans * * TypeScript-only wrappers are seen through, so `this.trans!` and * `(trans as any)` are recognized too — they still name the same bundle. * See jupyterlab.readthedocs.io/en/stable/extension/internationalization.html#rules */ export declare function isTransBundle(node: TSESTree.Node): boolean;