import { type WorkflowManifest } from "#internal/workflow-bundle/workflow-builders.js";
export declare const WORKFLOW_VIRTUAL_ENTRY_ID = "\0eve-workflow-entry";
export interface WorkflowBundleBuilderOptions {
    agentName: string;
    appRoot: string;
    compiledArtifactsBootstrapPath: string;
    outDir: string;
    /**
     * The agent's resolved public route prefix, baked into every emitted Vercel
     * workflow function's environment for callback-URL minting.
     */
    publicRoutePrefix?: string;
    rootDir: string;
    watch: boolean;
    /** Test-harness-only: also scans `src/internal/testing/`. */
    includeTestFixtures?: boolean;
}
export interface WorkflowBundleBuilderConfig {
    readonly buildTarget: "standalone";
    readonly dirs: readonly string[];
    readonly externalPackages: readonly string[];
    readonly projectRoot: string;
    readonly watch: boolean;
    readonly workingDir: string;
}
export interface WorkflowBundleDiscoveredEntries {
    readonly discoveredSerdeFiles: string[];
    readonly discoveredSteps: string[];
    readonly discoveredWorkflows: string[];
}
export interface WorkflowBundleCreateWorkflowsBundleOptions {
    readonly bundleFinalOutput?: boolean;
    readonly discoveredEntries?: WorkflowBundleDiscoveredEntries;
    readonly format?: "cjs" | "esm";
    readonly inputFiles: readonly string[];
    readonly keepInterimBundleContext?: boolean;
    readonly outfile: string;
    readonly tsconfigPath?: string;
}
export interface WorkflowBundleCreateWorkflowsBundleResult {
    readonly bundleFinal?: (interimBundleResult: string) => Promise<void>;
    readonly interimBundleCtx?: undefined;
    readonly manifest: WorkflowManifest;
}
interface WorkflowRolldownPlugin {
    readonly name: string;
    readonly resolveId?: (source: string, importer?: string) => unknown;
    readonly load?: (id: string) => unknown;
    readonly transform?: (code: string, id: string) => unknown;
}
export declare function collectWorkflowInputFiles(root: string): Promise<string[]>;
export declare function createWorkflowImport(filePath: string, workingDir: string): string;
export declare function createWorkflowVirtualEntryPlugin(source: string): WorkflowRolldownPlugin;
export declare function createWorkflowPseudoPackagePlugin(): WorkflowRolldownPlugin;
export declare function createWorkflowRuntimeAliasPlugin(): WorkflowRolldownPlugin;
export declare function createEvePackageImportsPlugin(workingDir: string, options?: {
    workflowCondition?: boolean;
}): WorkflowRolldownPlugin;
export declare function createWorkflowTransformPlugin(input: {
    manifest: WorkflowManifest;
    mode?: "step" | "workflow";
    projectRoot: string;
    sideEffectFiles?: readonly string[];
    workingDir: string;
}): WorkflowRolldownPlugin;
export declare function bundleWorkflowStepRegistrations(input: {
    builtinsPath: string;
    discoveredEntries: WorkflowBundleDiscoveredEntries;
    outfile: string;
    projectRoot: string;
    tsconfigPath?: string;
    workingDir: string;
}): Promise<void>;
export declare function createWorkflowNodeBuiltinGuardPlugin(): WorkflowRolldownPlugin;
export declare function bundleFinalWorkflowOutput(input: {
    bundleFinalOutput: boolean;
    code: string;
    format: "cjs" | "esm";
    outfile: string;
    queueNamespace: string;
    workingDir: string;
}): Promise<void>;
export declare function convertStepsManifest(steps: WorkflowManifest["steps"]): Record<string, unknown>;
export declare function convertWorkflowsManifest(workflows: WorkflowManifest["workflows"]): Record<string, unknown>;
export declare function convertClassesManifest(classes: WorkflowManifest["classes"]): Record<string, unknown>;
export {};
