/** Known connector IDs for config schema generation. Keep in sync with runtime/plugin maps. */ export declare const CONNECTOR_IDS: readonly ["telegram", "discord", "slack", "twitter", "whatsapp", "signal", "bluebubbles", "imessage", "farcaster", "lens", "msteams", "mattermost", "googlechat", "feishu", "matrix", "nostr", "retake", "blooio", "twitch"]; import { MiladySchema } from "./zod-schema"; export type ShowIfCondition = { field: string; op: "eq" | "neq" | "in" | "truthy" | "falsy"; value?: unknown; }; export type ConfigUiHint = { label?: string; help?: string; group?: string; order?: number; advanced?: boolean; sensitive?: boolean; placeholder?: string; itemTemplate?: unknown; /** Explicit field type override (must match a catalog field name). */ type?: string; /** Icon name for the field label. */ icon?: string; /** Whether the field is read-only. */ readonly?: boolean; /** Hide this field from the UI entirely. */ hidden?: boolean; /** Layout width hint. */ width?: "full" | "half" | "third"; /** Regex pattern for string validation. */ pattern?: string; /** Error message when pattern doesn't match. */ patternError?: string; /** Legacy conditional visibility. */ showIf?: ShowIfCondition; /** Enhanced options for select/radio/multiselect fields. */ options?: Array<{ value: string; label: string; description?: string; icon?: string; disabled?: boolean; }>; /** Minimum value (for number fields). */ min?: number; /** Maximum value (for number fields). */ max?: number; /** Step increment (for number fields). */ step?: number; /** Display unit label (e.g., "ms", "tokens", "%"). */ unit?: string; /** Schema for array item fields. */ itemSchema?: ConfigUiHint; /** Minimum items (for array fields). */ minItems?: number; /** Maximum items (for array fields). */ maxItems?: number; /** Plugin-provided custom React component name. */ component?: string; }; export type ConfigUiHints = Record; export type ConfigSchema = ReturnType; type JsonSchemaNode = Record; export type ConfigSchemaResponse = { schema: ConfigSchema; uiHints: ConfigUiHints; version: string; generatedAt: string; }; export type PluginUiMetadata = { id: string; name?: string; description?: string; configUiHints?: Record>; configSchema?: JsonSchemaNode; }; export type ConnectorUiMetadata = { id: string; label?: string; description?: string; configSchema?: JsonSchemaNode; configUiHints?: Record; }; export declare function buildConfigSchema(params?: { plugins?: PluginUiMetadata[]; connectors?: ConnectorUiMetadata[]; }): ConfigSchemaResponse; export {}; //# sourceMappingURL=schema.d.ts.map