import * as BabelTypes from "@babel/types"; import { Visitor, NodePath } from "@babel/traverse"; import { SourceMapGenerator } from "source-map"; import Stylis from "stylis"; interface BabelFile { opts: { generatorOpts: any; }; code: string; path: NodePath; } export interface BemedBabelPluginOptions { target?: string; runtime?: string; stylis?: typeof stylis; stylisOptions?: ConstructorParameters[0]; precompile?: boolean; sourceMap?: boolean; assertUniqueNames?: boolean; generateName?: (options: { filename: string; variableName: string; }) => string | undefined; } interface VisitorState { opts?: BemedBabelPluginOptions; file: BabelFile; filename?: string; } export interface Babel { types: typeof BabelTypes; } export declare function makeSourceMapGenerator(file: BabelFile): SourceMapGenerator; export declare function getSourceMap(offset: { line: number; column: number; }, file: BabelFile): string; export declare const SEEN_NAMES: Map; export declare const SEEN_FILES: Set; export default function bemedBabelPlugin(babel: Babel): { visitor: Visitor; }; export {};