"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.sharedDevConfigSchema = exports.ProgressBarConfigSchema = exports.DevServerHttpsOptionsSchema = void 0;
const utils_1 = require("../utils");
exports.DevServerHttpsOptionsSchema = utils_1.z.union([
    utils_1.z.boolean(),
    utils_1.z.object({
        key: utils_1.z.string(),
        cert: utils_1.z.string(),
    }),
]);
exports.ProgressBarConfigSchema = utils_1.z.partialObj({ id: utils_1.z.string() });
exports.sharedDevConfigSchema = utils_1.z.partialObj({
    hmr: utils_1.z.boolean(),
    port: utils_1.z.number(),
    host: utils_1.z.string(),
    https: exports.DevServerHttpsOptionsSchema,
    startUrl: utils_1.z.union([utils_1.z.boolean(), utils_1.z.string(), utils_1.z.array(utils_1.z.string())]),
    beforeStartUrl: utils_1.z.arrayOrNot(utils_1.z.function().returns(utils_1.z.union([utils_1.z.void(), utils_1.z.promise(utils_1.z.void())]))),
    assetPrefix: utils_1.z.union([utils_1.z.string(), utils_1.z.boolean()]),
    progressBar: utils_1.z.union([utils_1.z.boolean(), exports.ProgressBarConfigSchema]),
});
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const _schema = exports.sharedDevConfigSchema;
