import type { Parameter } from '@seamapi/blueprint'; import type { CommandDefinition } from '../commands/spec.js'; import type { AuthOverrides } from '../overrides.js'; /** * Report every required parameter still missing from the params, rather * than prompting for it. * * @param target What the params are for, e.g., `/devices/list`. */ export declare const assertRequiredParams: (parameters: Parameter[], params: Record, target: string) => void; /** * Report any argument the command does not accept, rather than acting on it. * An unrecognized argument is a mistake: forwarded to the API it would fail * somewhere less obvious or be quietly ignored, and on a command the CLI * handles itself it would go nowhere at all. * * Only arguments are checked. Params read from stdin are passed through as * given, so a caller may send whatever the API itself accepts. */ /** * Refuse the auth overrides on a command that selects what they override. * * `--endpoint` and `--workspace-id` scope one command and are never stored, * so on `seam select ...` they would read as the value to store and quietly * do nothing of the kind. The positional is what stores. */ export declare const assertNoAuthOverrides: ({ path, positional }: CommandDefinition, overrides: AuthOverrides) => void; export declare const assertKnownArgs: (argParams: Record, command: string[], { accepted, isLocal, }: { /** Parameter names the command accepts. */ accepted: Set; /** Whether the CLI handles the command itself. */ isLocal: boolean; }) => void;