/** * Shared vault credential-field config + helpers. * * Mirrors the credential schemas in @polpo-ai/server's vault route * (`SaveVaultEntryBody`). Used by both the agent vault tab CRUD and the * builder's `save_credential` secure form so the typed fields stay in sync. */ export type VaultType = "api_key" | "smtp" | "imap" | "oauth" | "login" | "custom"; export interface FieldDef { k: string; label: string; secret?: boolean; optional?: boolean; placeholder?: string; } export declare const typeLabel: Record; export declare const TYPE_OPTIONS: VaultType[]; export declare const TYPE_FIELDS: Record, FieldDef[]>; export declare const VAULT_INPUT_CLS = "w-full border border-border bg-background px-2.5 py-1.5 text-sm text-foreground placeholder:text-muted-foreground/40 focus:border-foreground/30 focus:outline-none"; export declare const VAULT_FIELD_LABEL_CLS = "font-mono text-[10px] font-medium uppercase tracking-[0.12em] text-muted-foreground"; /** * Build the credentials object from form state, validating required fields. * Throws a user-facing Error on the first missing required field. */ export declare function buildCredentials(type: VaultType, fields: Record, customRows: { k: string; v: string; }[]): Record; //# sourceMappingURL=vault-fields.d.ts.map