/**
 * Copyright: (c) Myia SAS 2026.
 * This file and its contents are licensed under the AGPLv3 License.
 * Please see the LICENSE file at the root of this repository
 */
import type * as BabelTypes from '@babel/types';
import type { NodePath } from '@babel/traverse';
import type { PluginPass } from '@babel/core';
type Types = typeof BabelTypes;
interface MetaHelpers {
    kindOf: (node: BabelTypes.Node) => string;
    containsAwait: (node: BabelTypes.Node) => boolean;
    findScopeName: (nodePath: NodePath) => string;
    extractSource: (code: string | undefined | null, node: BabelTypes.Node) => string;
    extractLeadingComment: (node: BabelTypes.Node) => string | null;
    relFile: (cwd: string, absFile: string | undefined | null) => string;
}
export type EnterMetaLiteralBuilder = (state: PluginPass, nodePath: NodePath, node: BabelTypes.Node, cwd: string) => BabelTypes.ObjectExpression;
export declare function createEnterMetaLiteralBuilder(t: Types, helpers: MetaHelpers): EnterMetaLiteralBuilder;
export {};
