import { type AgentManifest, type AgentManifestInspection, type AgentManifestValidationResult } from "../agentCore/index.js";
export type RaxDeveloperCommandName = "inspect" | "test" | "run" | "dev" | "build";
export type RaxDeveloperInput = {
    kind: "agentFile";
    path: string;
    exportName?: string;
} | {
    kind: "manifest";
    manifest: AgentManifest;
} | {
    kind: "package";
    packageName: string;
    version?: string;
} | {
    kind: "remoteSignedAgent";
    signedAgentId: string;
};
export type RaxDeveloperCommandRequest = {
    command?: RaxDeveloperCommandName;
    input?: RaxDeveloperInput;
    cwd?: string;
    runtimeId?: string;
    dryRun?: boolean;
};
export type RaxDeveloperCommandStep = "resolve-input" | "compile-agent" | "validate-manifest" | "inspect-manifest" | "readiness-check" | "run-manifest" | "watch" | "emit-manifest";
export type RaxDeveloperCommandPlan = {
    command: RaxDeveloperCommandName;
    inputKind: RaxDeveloperInput["kind"];
    runtimeId?: string;
    cwd?: string;
    steps: readonly RaxDeveloperCommandStep[];
    manifestInspection?: AgentManifestInspection;
    validation?: AgentManifestValidationResult;
    execution: "none" | "dry-run" | "runManifest";
    packageInstallDeferred: true;
    usesPublicAgentCoreApi: true;
    unsafeSideEffects: false;
};
export type RaxDeveloperCommandError = {
    code: "MISSING_COMMAND" | "MISSING_INPUT" | "MISSING_AGENT_FILE" | "MISSING_PACKAGE_NAME" | "MISSING_SIGNED_AGENT_ID" | "INVALID_MANIFEST" | "PACKAGE_INSTALL_DEFERRED";
    message: string;
    boundary: "input" | "manifest" | "package";
    publicSafe: true;
    internalDetailExposed: false;
};
export type RaxDeveloperCommandResult = {
    ok: true;
    plan: RaxDeveloperCommandPlan;
    events: readonly string[];
} | {
    ok: false;
    error: RaxDeveloperCommandError;
    events: readonly string[];
};
export declare function planRaxDeveloperCommand(request?: RaxDeveloperCommandRequest): RaxDeveloperCommandResult;
