/**
 * Phase 2 of the v0.9.0 parser: compose tokens into a HottModule that
 * both emitters (SSR and static) can consume. This is where Hot.*
 * rewrites happen (via rewrite-preamble) and where literal Hot.include
 * targets are hoisted out of the preamble into module.partials.
 */
import { Token, HottModule } from "./types";
export interface CompileOptions {
    /**
     * Runtime context parameter name injected into the rewritten preamble.
     * The emitter wraps `preamble` in `async (hotCtx) => { ... }`.
     */
    ctxParam?: string;
    /** Optional filename for better diagnostics. */
    filename?: string;
}
/**
 * Compile a pre-tokenized .hott file into a HottModule. Prefer this entry
 * when the caller has already tokenized (e.g. a build tool that reuses the
 * token stream for additional analysis); otherwise call `compileSource`.
 */
export declare function compile(tokens: Token[], opts?: CompileOptions): HottModule;
/**
 * Tokenize + compile a .hott source string in one call. Intended for the
 * common case where callers don't care about the intermediate tokens.
 */
export declare function compileSource(source: string, opts?: CompileOptions): HottModule;
//# sourceMappingURL=compile.d.ts.map