import { z } from 'zod'; /** * Standard component definitions for Ink terminal catalogs. * * These can be used directly or extended with custom components. * All components are built using Ink core primitives only. */ declare const standardComponentDefinitions: { Box: { props: z.ZodObject<{ flexDirection: z.ZodNullable>; alignItems: z.ZodNullable>; justifyContent: z.ZodNullable>; flexGrow: z.ZodNullable; flexShrink: z.ZodNullable; flexWrap: z.ZodNullable>; width: z.ZodNullable>; height: z.ZodNullable>; minWidth: z.ZodNullable>; minHeight: z.ZodNullable>; padding: z.ZodNullable; paddingX: z.ZodNullable; paddingY: z.ZodNullable; paddingTop: z.ZodNullable; paddingBottom: z.ZodNullable; paddingLeft: z.ZodNullable; paddingRight: z.ZodNullable; margin: z.ZodNullable; marginX: z.ZodNullable; marginY: z.ZodNullable; marginTop: z.ZodNullable; marginBottom: z.ZodNullable; marginLeft: z.ZodNullable; marginRight: z.ZodNullable; gap: z.ZodNullable; columnGap: z.ZodNullable; rowGap: z.ZodNullable; borderStyle: z.ZodNullable>; borderColor: z.ZodNullable; borderTop: z.ZodNullable; borderBottom: z.ZodNullable; borderLeft: z.ZodNullable; borderRight: z.ZodNullable; borderDimColor: z.ZodNullable; display: z.ZodNullable>; overflow: z.ZodNullable>; backgroundColor: z.ZodNullable; }, z.core.$strip>; slots: string[]; description: string; example: { flexDirection: string; padding: number; gap: number; borderStyle: string; }; }; Text: { props: z.ZodObject<{ text: z.ZodString; color: z.ZodNullable; backgroundColor: z.ZodNullable; bold: z.ZodNullable; italic: z.ZodNullable; underline: z.ZodNullable; strikethrough: z.ZodNullable; dimColor: z.ZodNullable; inverse: z.ZodNullable; wrap: z.ZodNullable>; }, z.core.$strip>; slots: never[]; description: string; example: { text: string; bold: boolean; color: string; }; }; Newline: { props: z.ZodObject<{ count: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { count: number; }; }; Spacer: { props: z.ZodObject<{}, z.core.$strip>; slots: never[]; description: string; }; Heading: { props: z.ZodObject<{ text: z.ZodString; level: z.ZodNullable>; color: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { text: string; level: string; }; }; Divider: { props: z.ZodObject<{ character: z.ZodNullable; color: z.ZodNullable; dimColor: z.ZodNullable; title: z.ZodNullable; width: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { title: string; color: string; width: number; }; }; Badge: { props: z.ZodObject<{ label: z.ZodString; variant: z.ZodNullable>; }, z.core.$strip>; slots: never[]; description: string; example: { label: string; variant: string; }; }; Spinner: { props: z.ZodObject<{ label: z.ZodNullable; color: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { label: string; color: string; }; }; ProgressBar: { props: z.ZodObject<{ progress: z.ZodNumber; width: z.ZodNullable; color: z.ZodNullable; label: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { progress: number; width: number; color: string; label: string; }; }; Sparkline: { props: z.ZodObject<{ data: z.ZodArray; width: z.ZodNullable; color: z.ZodNullable; label: z.ZodNullable; min: z.ZodNullable; max: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { data: number[]; color: string; label: string; }; }; BarChart: { props: z.ZodObject<{ data: z.ZodArray; }, z.core.$strip>>; width: z.ZodNullable; showValues: z.ZodNullable; showPercentage: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { data: { label: string; value: number; color: string; }[]; showPercentage: boolean; }; }; Table: { props: z.ZodObject<{ columns: z.ZodArray; align: z.ZodNullable>; }, z.core.$strip>>; rows: z.ZodArray>; borderStyle: z.ZodNullable>; backgroundColor: z.ZodNullable; headerColor: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { columns: { header: string; key: string; width: number; }[]; rows: { name: string; status: string; }[]; headerColor: string; }; }; List: { props: z.ZodObject<{ items: z.ZodArray; ordered: z.ZodNullable; bulletChar: z.ZodNullable; spacing: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { items: string[]; ordered: boolean; }; }; ListItem: { props: z.ZodObject<{ title: z.ZodString; subtitle: z.ZodNullable; leading: z.ZodNullable; trailing: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { title: string; subtitle: string; leading: string; trailing: string; }; }; Card: { props: z.ZodObject<{ title: z.ZodNullable; backgroundColor: z.ZodNullable; padding: z.ZodNullable; }, z.core.$strip>; slots: string[]; description: string; example: { title: string; padding: number; }; }; KeyValue: { props: z.ZodObject<{ label: z.ZodString; value: z.ZodUnion]>; labelColor: z.ZodNullable; separator: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { label: string; value: string; labelColor: string; }; }; Link: { props: z.ZodObject<{ url: z.ZodString; label: z.ZodNullable; color: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { url: string; label: string; }; }; StatusLine: { props: z.ZodObject<{ text: z.ZodString; status: z.ZodNullable>; icon: z.ZodNullable; }, z.core.$strip>; slots: never[]; description: string; example: { text: string; status: string; }; }; Metric: { props: z.ZodObject<{ label: z.ZodString; value: z.ZodString; detail: z.ZodNullable; trend: z.ZodNullable>; }, z.core.$strip>; slots: never[]; description: string; example: { label: string; value: string; detail: string; trend: string; }; }; Callout: { props: z.ZodObject<{ type: z.ZodNullable>; title: z.ZodNullable; content: z.ZodString; }, z.core.$strip>; slots: never[]; description: string; example: { type: string; title: string; content: string; }; }; Timeline: { props: z.ZodObject<{ items: z.ZodArray; date: z.ZodNullable; status: z.ZodNullable>; }, z.core.$strip>>; }, z.core.$strip>; slots: never[]; description: string; example: { items: ({ title: string; description: string; date: string; status: string; } | { title: string; date: string; status: string; description?: undefined; })[]; }; }; TextInput: { props: z.ZodObject<{ placeholder: z.ZodNullable; value: z.ZodNullable; label: z.ZodNullable; mask: z.ZodNullable; }, z.core.$strip>; events: string[]; slots: never[]; description: string; example: { placeholder: string; label: string; }; }; Select: { props: z.ZodObject<{ options: z.ZodArray>; value: z.ZodNullable; label: z.ZodNullable; }, z.core.$strip>; events: string[]; slots: never[]; description: string; example: { options: { label: string; value: string; }[]; label: string; }; }; MultiSelect: { props: z.ZodObject<{ options: z.ZodArray>; value: z.ZodNullable>; label: z.ZodNullable; min: z.ZodNullable; max: z.ZodNullable; }, z.core.$strip>; events: string[]; slots: never[]; description: string; example: { options: { label: string; value: string; }[]; label: string; }; }; ConfirmInput: { props: z.ZodObject<{ message: z.ZodNullable; defaultValue: z.ZodNullable; yesLabel: z.ZodNullable; noLabel: z.ZodNullable; }, z.core.$strip>; events: string[]; slots: never[]; description: string; example: { message: string; }; }; Tabs: { props: z.ZodObject<{ tabs: z.ZodArray; }, z.core.$strip>>; value: z.ZodNullable; color: z.ZodNullable; }, z.core.$strip>; events: string[]; slots: string[]; description: string; example: { tabs: { label: string; value: string; }[]; }; }; Markdown: { props: z.ZodObject<{ text: z.ZodString; }, z.core.$strip>; slots: never[]; description: string; example: { text: string; }; }; }; /** * Standard action definitions for Ink terminal catalogs. */ declare const standardActionDefinitions: { setState: { params: z.ZodObject<{ statePath: z.ZodString; value: z.ZodUnknown; }, z.core.$strip>; description: string; }; pushState: { params: z.ZodObject<{ statePath: z.ZodString; value: z.ZodUnknown; clearStatePath: z.ZodOptional; }, z.core.$strip>; description: string; }; removeState: { params: z.ZodObject<{ statePath: z.ZodString; index: z.ZodNumber; }, z.core.$strip>; description: string; }; exit: { params: z.ZodObject<{ code: z.ZodOptional; }, z.core.$strip>; description: string; }; log: { params: z.ZodObject<{ message: z.ZodString; }, z.core.$strip>; description: string; }; }; /** * Type for a component definition */ type ComponentDefinition = { props: z.ZodType; slots: string[]; events?: string[]; description: string; }; /** * Type for an action definition */ type ActionDefinition = { params: z.ZodType; description: string; }; export { type ActionDefinition, type ComponentDefinition, standardActionDefinitions, standardComponentDefinitions };