import { SourceMap } from "magic-string"; import { Diagnostic, TaglibLookup } from "@marko/babel-utils"; import * as types from "./babel-types"; export { types }; type _Config = typeof import("./config"); export interface Config extends _Config {} type Dep = { type: string; code: string; path: string; startPos?: number; endPos?: number; require?: boolean; virtualPath?: string; [x: string]: unknown; }; export interface MarkoMeta { id: string; component?: string; watchFiles: string[]; tags?: string[]; deps: Array; diagnostics: Diagnostic[]; } export interface CompileResult { ast: types.File; code: string; map: SourceMap; meta: MarkoMeta; } export function configure(config: Config): void; export function compile( src: string, filename: string, config?: Config ): Promise; export function compileSync( src: string, filename: string, config?: Config ): CompileResult; export function compileFile( filename: string, config?: Config ): Promise; export function compileFileSync( filename: string, config?: Config ): CompileResult; export function getRuntimeEntryFiles( output: string, translator?: string | undefined ): string[]; export namespace taglib { export function excludeDir(dirname: string): void; export function excludePackage(packageName: string): void; export function register(id: string, props: { [x: string]: unknown }): void; export function buildLookup( dirname: string, translator?: unknown, onError?: (err: Error) => void ): TaglibLookup; export function clearCaches(): void; }