/** SDK-owned platform module. This implementation is maintained in goodvibes-sdk. */ export interface ConfigSettingDefinition { key: string; type: 'boolean' | 'number' | 'string' | 'enum'; default: unknown; description: string; enumValues?: string[] | undefined; validate?: ((value: unknown) => boolean) | undefined; /** * Optional hint appended to the validation-failure message when `validate` * returns false. Use to tell callers the accepted range or format, * e.g. `'finite number in [0.25, 4.0]'`. */ validationHint?: string | undefined; /** * What kind of quantity the number is, when knowing that changes how a value * is read or shown. * * `'money'` marks a key holding an amount of `payments.currency`, written the * way a person says it. It exists so a surface (a settings screen, a set * command, a formatter) can ask the SCHEMA what a key holds instead of * pattern-matching the key's NAME, the old keys were detected by a suffix on * the name, which is exactly what tied every consumer to a naming scheme and * broke them all when the names changed. */ unit?: 'money' | undefined; } /** * Returns validate + validationHint for `provider.reasoningEffort`. * * Not an enum: which reasoning levels exist is per model, and the former * four-value list rejected `none`, `minimal`, `xhigh` and `max`, all real * levels on models shipping today. Validation runs against the levels the * CURRENT model resolved to once the runtime has published them, and against * the known severity ladder before that, so a typo is still caught here rather * than by a provider. */ export declare function reasoningEffortSetting(): Pick; /** Returns validate + validationHint for an integer in [min, max]. */ export declare function intRange(min: number, max: number): Pick; /** Returns validate + validationHint for a float in [min, max]. */ export declare function numRange(min: number, max: number): Pick; /** Returns validate + validationHint for a TCP port (integer in [1, 65535]). */ /** * The hint every port setting carries. * * Exported because it is the only structural mark a port has: cluster config * replication reads it to refuse to replicate ANY port, and a shared constant * is what keeps that refusal true when a new port setting is added. */ export declare const PORT_VALIDATION_HINT = "integer port in [1, 65535]"; export declare function port(): Pick; //# sourceMappingURL=schema-shared.d.ts.map