import type { JsonObject } from "#shared/json.js";
import { type AgentDefinition } from "#public/definitions/agent.js";
import { type ToolDefinition } from "#tools/definition.js";
import type { CompiledAgentManifest } from "#compiler/manifest.js";
import { type CompiledModuleMap } from "#compiler/module-map.js";
import { type ProgrammaticAgentModule } from "#compiler/source-graph.js";
export interface CompileFromMemoryInput {
    readonly agent?: AgentDefinition;
    readonly name?: string;
    readonly appRoot?: string;
    readonly agentRoot?: string;
    readonly model: string;
    readonly limits?: {
        readonly maxInputTokensPerSession?: number | false;
        readonly maxOutputTokensPerSession?: number | false;
        readonly maxTokenCostUsdPerSession?: number | false;
        readonly sessionTimeoutMs?: number | false;
    };
    readonly outputSchema?: JsonObject;
    readonly revision?: string;
    readonly modules?: readonly ProgrammaticAgentModule[];
    readonly tools?: readonly CompileFromMemoryToolInput[];
    readonly skills?: readonly CompileFromMemorySkillInput[];
}
export interface CompileFromMemoryToolInput {
    readonly name: string;
    readonly description?: string;
    readonly inputSchema?: JsonObject | null;
    readonly outputSchema?: JsonObject;
    readonly execute?: ToolDefinition["execute"];
    readonly label?: ToolDefinition["label"];
    readonly approval?: ToolDefinition["approval"];
    readonly toModelOutput?: ToolDefinition["toModelOutput"];
}
export interface CompileFromMemorySkillInput {
    readonly name: string;
    readonly description: string;
    readonly markdown?: string;
}
export interface CompileFromMemoryResult {
    readonly manifest: CompiledAgentManifest;
    readonly moduleMap: CompiledModuleMap;
}
/** Compiles a synthetic application by registering one ordinary programmatic source. */
export declare function compileFromMemory(input: CompileFromMemoryInput): Promise<CompileFromMemoryResult>;
