"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.globalConfigSchema = exports.authFileConfigSchema = exports.authConfigSchema = exports.credStorageSchema = exports.updatesConfigSchema = exports.guidanceConfigSchema = exports.telemetryConfigSchema = void 0;
// Generated by ts-to-zod
const zod_1 = require("zod");
exports.telemetryConfigSchema = zod_1.z.object({
    enabled: zod_1.z.boolean().optional(),
});
exports.guidanceConfigSchema = zod_1.z.object({
    enabled: zod_1.z.boolean().optional(),
});
exports.updatesConfigSchema = zod_1.z.object({
    auto: zod_1.z.boolean().optional(),
});
exports.credStorageSchema = zod_1.z.union([
    zod_1.z.literal('auto'),
    zod_1.z.literal('file'),
    zod_1.z.literal('keyring'),
]);
exports.authConfigSchema = zod_1.z.object({
    '// Note': zod_1.z.string().optional(),
    '// Docs': zod_1.z.string().optional(),
    skipWrite: zod_1.z.boolean().optional(),
    token: zod_1.z.string().optional(),
    userId: zod_1.z.string().optional(),
    refreshToken: zod_1.z.string().optional(),
    expiresAt: zod_1.z.number().optional(),
    tokenSource: zod_1.z.union([zod_1.z.literal('flag'), zod_1.z.literal('env')]).optional(),
});
exports.authFileConfigSchema = exports.authConfigSchema.omit({
    tokenSource: true,
});
exports.globalConfigSchema = zod_1.z.object({
    '// Note': zod_1.z.string().optional(),
    '// Docs': zod_1.z.string().optional(),
    credStorage: exports.credStorageSchema.optional(),
    currentTeam: zod_1.z.string().optional(),
    api: zod_1.z.string().optional(),
    telemetry: exports.telemetryConfigSchema.optional(),
    guidance: exports.guidanceConfigSchema.optional(),
    updates: exports.updatesConfigSchema.optional(),
    useNativeBinary: zod_1.z.boolean().optional(),
});
