import { z } from 'zod';
import type { ConfigUISchema } from '../interfaces/config-ui.js';
export interface DeviceConfigEntry {
    key: string;
    schema: z.ZodType;
    value: unknown;
    description?: string;
}
/**
 * Convert DeviceConfig.entries() output to ConfigUISchema for the admin UI FormBuilder.
 *
 * Each entry's Zod type is inspected to determine the correct ConfigField type:
 * - ZodString → 'text' (or 'password' when key contains "password"/"secret"/"token"/"apikey")
 * - ZodNumber → 'number' (extracts min/max/step from Zod v4 checks)
 * - ZodBoolean → 'boolean'
 * - ZodEnum → 'select' (options built from enum values)
 * - Anything else → 'text' fallback
 *
 * Wrapper types ZodDefault, ZodOptional, and ZodNullable are unwrapped transparently.
 * Default values are extracted from ZodDefault wrappers.
 */
export declare function zodEntriesToConfigUI(entries: readonly DeviceConfigEntry[], sectionTitle?: string, sectionId?: string): ConfigUISchema;
//# sourceMappingURL=zod-to-config-ui.d.ts.map