import type { ZodType } from "zod"; /** Maximum length for binding descriptions (characters). */ export declare const MAX_BINDING_DESCRIPTION_LENGTH = 200; /** * A single binding that executes on the host. */ export interface Binding { /** Description shown to the agent in --help and prompt docs. Max 200 characters. */ description: string; /** Zod schema for the input. Drives CLI flag generation and validation. */ inputSchema: ZodType; /** Runs on the host when the agent invokes the binding. */ execute: (input: INPUT) => Promise | OUTPUT; /** Examples included in auto-generated prompt docs. */ examples?: BindingExample[]; /** Timeout in ms. Default: 30000. */ timeout?: number; } export interface BindingExample { /** Human description of what this example does. */ description: string; /** The input args for the example. */ input: INPUT; } /** * A named collection of bindings. Becomes a CLI binary: agentos-{name}. */ export interface Bindings { /** Collection name. Must be lowercase alphanumeric + hyphens. Becomes the CLI suffix: agentos-{name}. */ name: string; /** Description shown in `agentos list-bindings` and prompt docs. */ description: string; /** The bindings in this collection. Keys become subcommands. */ bindings: Record; } /** Helper to create a binding with type inference. */ export declare function binding(def: Binding): Binding; /** Helper to create a named binding collection. */ export declare function bindings(def: Bindings): Bindings; /** * Validate every binding collection and binding. */ export declare function validateBindings(collections: Bindings[]): void;