"use strict";
// SPDX-License-Identifier: Apache-2.0
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ValidatedArgs_1 = __importDefault(require("../../../../../core/validation/ValidatedArgs"));
const FormatValidation_1 = __importDefault(require("../../FormatValidation"));
const InvalidValue_1 = require("../../error/InvalidValue");
class UpdateExternalKycListsRequest extends ValidatedArgs_1.default {
    securityId;
    externalKycListsAddresses;
    actives;
    constructor({ securityId, externalKycListsAddresses, actives, }) {
        super({
            securityId: FormatValidation_1.default.checkHederaIdFormatOrEvmAddress(),
            externalKycListsAddresses: (vals) => FormatValidation_1.default.checkHederaIdOrEvmAddressArray(vals, "externalKycListsAddresses"),
            actives: (vals) => vals.length !== externalKycListsAddresses.length
                ? [new InvalidValue_1.InvalidValue(`The list of externalKycListsAddresses and actives must have equal length.`)]
                : [],
        });
        this.securityId = securityId;
        this.externalKycListsAddresses = externalKycListsAddresses;
        this.actives = actives;
    }
}
exports.default = UpdateExternalKycListsRequest;
