import type { string_book } from '../../book-2.0/agent-source/string_book';
import type { LlmToolDefinition } from '../../types/LlmToolDefinition';
/**
 * Supported visibility options for agent creation.
 *
 * @private shared create-agent contract
 */
export declare const CREATE_AGENT_VISIBILITY_VALUES: readonly ["PRIVATE", "UNLISTED", "PUBLIC"];
/**
 * Supported visibility options for agent creation.
 *
 * @private shared create-agent contract
 */
export type CreateAgentVisibility = (typeof CREATE_AGENT_VISIBILITY_VALUES)[number];
/**
 * Canonical input payload for creating one persisted agent entity.
 *
 * @private shared create-agent contract
 */
export type CreateAgentInput = {
    /**
     * Full agent source in Promptbook format (book/markdown/yaml text accepted by parser).
     */
    readonly source: string_book;
    /**
     * Optional folder placement in Agents Server organization.
     */
    readonly folderId?: number | null;
    /**
     * Optional sort order within the selected folder.
     */
    readonly sortOrder?: number;
    /**
     * Optional visibility override.
     */
    readonly visibility?: CreateAgentVisibility;
};
/**
 * Maximum allowed source length for create-agent payloads.
 *
 * @private shared create-agent contract
 */
export declare const CREATE_AGENT_INPUT_SOURCE_MAX_LENGTH = 120000;
/**
 * Parses and validates unknown data into strict `CreateAgentInput`.
 *
 * - Requires `source`.
 * - Rejects unknown fields.
 * - Enforces source-size limits.
 *
 * @private shared create-agent contract
 */
export declare function parseCreateAgentInput(rawValue: unknown): CreateAgentInput;
/**
 * Builds strict JSON schema for create-agent tool parameters.
 *
 * @private shared create-agent contract
 */
export declare function createCreateAgentInputToolParametersSchema(): LlmToolDefinition['parameters'];
