import type { Options as SwcOptions } from '@swc/core'; import { SyncWaterfallHook } from 'tapable'; import type { HeftConfiguration, IHeftTaskPlugin, IHeftTaskSession } from '@rushstack/heft'; import { type _TTypeScript as TTypeScript } from '@rushstack/heft-typescript-plugin'; import type { ISwcIsolatedTranspileOptions } from './types'; /** * @public */ export type ModuleKind = keyof typeof TTypeScript.ModuleKind; /** * @public */ export type ScriptTarget = keyof typeof TTypeScript.ScriptTarget; /** * @beta */ export interface ISwcIsolatedTranspilePluginAccessor { hooks: { /** * This hook will get called for each module kind and script target that that will be emitted. * * @internalRemarks * In the future, consider replacing this with a HookMap. */ getSwcOptions: SyncWaterfallHook; }; } /** * @public */ export default class SwcIsolatedTranspilePlugin implements IHeftTaskPlugin { /** * @beta */ accessor: ISwcIsolatedTranspilePluginAccessor; constructor(); apply(heftSession: IHeftTaskSession, heftConfiguration: HeftConfiguration, pluginOptions?: ISwcIsolatedTranspileOptions): void; } //# sourceMappingURL=SwcIsolatedTranspilePlugin.d.ts.map