"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 CorporateAction_1 = require("../../../../domain/context/security/CorporateAction");
const ValidatedArgs_1 = __importDefault(require("../../../../core/validation/ValidatedArgs"));
const FormatValidation_1 = __importDefault(require("../FormatValidation"));
class GetCouponsForRequest extends ValidatedArgs_1.default {
    securityId;
    couponId;
    pageIndex;
    pageLength;
    constructor({ securityId, couponId, pageIndex, pageLength, }) {
        super({
            securityId: FormatValidation_1.default.checkHederaIdFormatOrEvmAddress(),
            couponId: FormatValidation_1.default.checkNumber({
                max: undefined,
                min: CorporateAction_1.MIN_ID,
            }),
            pageIndex: FormatValidation_1.default.checkNumber({
                max: undefined,
                min: 0,
            }),
            pageLength: FormatValidation_1.default.checkNumber({
                max: undefined,
                min: 1,
            }),
        });
        this.securityId = securityId;
        this.couponId = couponId;
        this.pageIndex = pageIndex;
        this.pageLength = pageLength;
    }
}
exports.default = GetCouponsForRequest;
