"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.databricksOauthU2mUserCredentialsSchema = exports.snowflakeSsoUserCredentialsSchema = void 0;
const zod_1 = require("zod");
const projects_1 = require("./projects");
// Zod schema for validating Snowflake SSO user warehouse credentials
// Requires refreshToken and disallows token field
exports.snowflakeSsoUserCredentialsSchema = zod_1.z
    .object({
    type: zod_1.z.literal(projects_1.WarehouseTypes.SNOWFLAKE),
    user: zod_1.z.string().optional(),
    password: zod_1.z.string().optional(),
    authenticationType: zod_1.z.literal(projects_1.SnowflakeAuthenticationType.SSO),
    refreshToken: zod_1.z.string(),
})
    .strict();
// Zod schema for validating Databricks OAuth U2M user warehouse credentials
// Requires refreshToken and allows optional compatibility fields
exports.databricksOauthU2mUserCredentialsSchema = zod_1.z
    .object({
    type: zod_1.z.literal(projects_1.WarehouseTypes.DATABRICKS),
    authenticationType: zod_1.z.literal(projects_1.DatabricksAuthenticationType.OAUTH_U2M),
    refreshToken: zod_1.z.string(),
    oauthClientId: zod_1.z.string().optional(),
    personalAccessToken: zod_1.z.string().optional(),
    database: zod_1.z.string().optional(),
    serverHostName: zod_1.z.string().optional(),
    httpPath: zod_1.z.string().optional(),
})
    .strict();
//# sourceMappingURL=userWarehouseCredentials.js.map