import type { StandardJSONSchemaV1 } from "#compiled/@standard-schema/spec/index.js";
import type { HeadersValue } from "#client/types.js";
import { type OutboundAuthFn } from "#public/agents/auth.js";
import { type RemoteAgentDefinition, type RemoteAgentUrl } from "#public/definitions/remote-agent.js";
import type { JsonObject } from "#shared/json.js";
/** Runtime transport for one workspace peer. */
export interface WorkspaceAgentTransport {
    readonly auth?: OutboundAuthFn;
    readonly headers?: HeadersValue;
    readonly url: RemoteAgentUrl;
}
/** A workspace peer exposed as one remote subagent. */
export interface WorkspaceAgentDefinition {
    /** Overrides the peer agent's description in the parent's tool definition. */
    readonly description?: string;
    readonly forwardPrincipal?: boolean;
    readonly outputSchema?: StandardJSONSchemaV1<unknown, unknown> | JsonObject;
    /** Name of the peer workspace member, such as `research`. */
    readonly name: string;
    /**
     * Whether eve exposes this workspace peer to the parent model as a tool.
     * Defaults to `true`; `false` keeps it callable from workflow tools.
     */
    readonly tool?: boolean;
    /** Overrides environment-aware workspace routing and service authentication. */
    readonly transport?: WorkspaceAgentTransport;
}
/** Defines one workspace peer as a remote subagent. */
export declare function defineWorkspaceAgent(definition: WorkspaceAgentDefinition): RemoteAgentDefinition;
export declare function workspaceSubagentName(value: unknown): string | undefined;
