import type { Interactivity } from './args/parse.js'; import type { ApiBlueprint } from './blueprint/index.js'; import { type CliConfig } from './config/index.js'; import type { SeamApi } from './http/api.js'; import type { Output } from './output/output.js'; export declare const defaultEndpoint = "https://connect.getseam.com"; /** Where a resolved value came from, e.g., to refuse writes the env shadows. */ export type ValueSource = 'flag' | 'env' | 'config' | 'default'; /** * The endpoint, token, and workspace requests are made with. * * Resolved in one place so the precedence rule exists once: a flag given for * the one command wins over an environment variable, which wins over the * stored value, and the endpoint falls back to Seam. The source tags say * where each value came from. */ export interface AuthContext { endpoint: string; endpointSource: ValueSource; token: string | null; tokenSource: Exclude | null; workspaceId: string | null; workspaceIdSource: Exclude | null; } export declare const resolveAuth: (config?: CliConfig) => AuthContext; /** * Everything a command runs with: the stores and auth it reads, the API * shape it acts on, and how it may interact with the user. */ export interface CliContext { config: CliConfig; auth: AuthContext; output: Output; blueprint: ApiBlueprint; interactivity: Interactivity; /** The Seam API, constructed on first use and shared for the run. */ api: () => Promise; }