import type { JsonObject } from "#shared/json.js";
import { type DynamicToolEventName } from "#dynamic/definition.js";
import type { LocalSubagentSourceRef } from "#discover/manifest.js";
export type NormalizedSubagentConfig = {
    readonly kind: "local";
    readonly definition: unknown;
} | {
    readonly build?: {
        readonly externalDependencies?: readonly string[];
    };
    readonly eventNames: readonly DynamicToolEventName[];
    readonly kind: "dynamic";
} | {
    readonly description: string;
    readonly kind: "remote";
    readonly outputSchema?: JsonObject;
    readonly path: string;
    readonly url?: string;
};
export declare function normalizeSubagentConfig(value: unknown, message: string): NormalizedSubagentConfig;
export declare function assertRemoteAgentDefinitionHasNoLocalPackageEntries(source: LocalSubagentSourceRef): void;
