// Type definitions for the es-module-lexer minimal build (es-module-lexer/minimal).
// Auto-generated by build/gen-min-dts.mjs — do not edit.
import { ImportType, ImportSpecifier, ParseError } from './lexer.js';
export { ImportType, ImportSpecifier, ParseError };

/**
 * Export specifier — minimal build.
 *
 * Identical to the full ExportSpecifier except that the export statement start
 * (`ss`) is not tracked in the minimal build.
 */
export interface ExportSpecifier {
  /** Exported name */
  readonly n: string;
  /** Local name, or undefined */
  readonly ln: string | undefined;
  /** Start of exported name */
  readonly s: number;
  /** End of exported name */
  readonly e: number;
  /** Start of local name, or -1 */
  readonly ls: number;
  /** End of local name, or -1 */
  readonly le: number;
}

/**
 * Outputs the lexical analysis of the source — minimal build.
 *
 * Returns a 2-tuple of imports and exports. Unlike the full build, the minimal
 * build does not emit the facade / hasModuleSyntax flags, and ImportSpecifier
 * `at` is always null (read assertions via `source.slice(a, se - 1)`).
 *
 * @param source Source code to parse
 * @param name Optional sourcename
 */
export declare function parse(source: string, name?: string): readonly [
  imports: ReadonlyArray<ImportSpecifier>,
  exports: ReadonlyArray<ExportSpecifier>
];

/**
 * Wait for init to resolve before calling `parse`.
 */
export declare const init: Promise<void>;
export declare const initSync: () => void;
