import { QueryBus } from "../../../../core/query/QueryBus";
import { CommandBus } from "../../../../core/command/CommandBus";
import SetAmortizationRequest from "../../request/security/amortization/SetAmortizationRequest";
import CancelAmortizationRequest from "../../request/security/amortization/CancelAmortizationRequest";
import SetAmortizationHoldRequest from "../../request/security/amortization/SetAmortizationHoldRequest";
import ReleaseAmortizationHoldRequest from "../../request/security/amortization/ReleaseAmortizationHoldRequest";
import GetAmortizationRequest from "../../request/security/amortization/GetAmortizationRequest";
import GetAmortizationForRequest from "../../request/security/amortization/GetAmortizationForRequest";
import GetAmortizationsForRequest from "../../request/security/amortization/GetAmortizationsForRequest";
import GetAmortizationsCountRequest from "../../request/security/amortization/GetAmortizationsCountRequest";
import GetAmortizationHoldersRequest from "../../request/security/amortization/GetAmortizationHoldersRequest";
import GetTotalAmortizationHoldersRequest from "../../request/security/amortization/GetTotalAmortizationHoldersRequest";
import GetAmortizationPaymentAmountRequest from "../../request/security/amortization/GetAmortizationPaymentAmountRequest";
import GetActiveAmortizationHoldHoldersRequest from "../../request/security/amortization/GetActiveAmortizationHoldHoldersRequest";
import GetTotalActiveAmortizationHoldHoldersRequest from "../../request/security/amortization/GetTotalActiveAmortizationHoldHoldersRequest";
import GetActiveAmortizationIdsRequest from "../../request/security/amortization/GetActiveAmortizationIdsRequest";
import GetTotalActiveAmortizationIdsRequest from "../../request/security/amortization/GetTotalActiveAmortizationIdsRequest";
import AmortizationViewModel from "../../response/AmortizationViewModel";
import AmortizationForViewModel from "../../response/AmortizationForViewModel";
import AmortizationPaymentAmountViewModel from "../../response/AmortizationPaymentAmountViewModel";
interface IAmortizationInPort {
    setAmortization(request: SetAmortizationRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    cancelAmortization(request: CancelAmortizationRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    setAmortizationHold(request: SetAmortizationHoldRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    releaseAmortizationHold(request: ReleaseAmortizationHoldRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    getAmortization(request: GetAmortizationRequest): Promise<AmortizationViewModel>;
    getAllAmortizations(request: GetAmortizationsCountRequest): Promise<AmortizationViewModel[]>;
    getAmortizationFor(request: GetAmortizationForRequest): Promise<AmortizationForViewModel>;
    getAmortizationsFor(request: GetAmortizationsForRequest): Promise<AmortizationForViewModel[]>;
    getAmortizationsCount(request: GetAmortizationsCountRequest): Promise<number>;
    getAmortizationHolders(request: GetAmortizationHoldersRequest): Promise<string[]>;
    getTotalAmortizationHolders(request: GetTotalAmortizationHoldersRequest): Promise<number>;
    getAmortizationPaymentAmount(request: GetAmortizationPaymentAmountRequest): Promise<AmortizationPaymentAmountViewModel>;
    getActiveAmortizationHoldHolders(request: GetActiveAmortizationHoldHoldersRequest): Promise<string[]>;
    getTotalActiveAmortizationHoldHolders(request: GetTotalActiveAmortizationHoldHoldersRequest): Promise<number>;
    getActiveAmortizationIds(request: GetActiveAmortizationIdsRequest): Promise<number[]>;
    getTotalActiveAmortizationIds(request: GetTotalActiveAmortizationIdsRequest): Promise<number>;
}
declare class AmortizationInPort implements IAmortizationInPort {
    private readonly queryBus;
    private readonly commandBus;
    constructor(queryBus?: QueryBus, commandBus?: CommandBus);
    setAmortization(request: SetAmortizationRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    cancelAmortization(request: CancelAmortizationRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    setAmortizationHold(request: SetAmortizationHoldRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    releaseAmortizationHold(request: ReleaseAmortizationHoldRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    getAmortization(request: GetAmortizationRequest): Promise<AmortizationViewModel>;
    getAllAmortizations(request: GetAmortizationsCountRequest): Promise<AmortizationViewModel[]>;
    getAmortizationFor(request: GetAmortizationForRequest): Promise<AmortizationForViewModel>;
    getAmortizationsFor(request: GetAmortizationsForRequest): Promise<AmortizationForViewModel[]>;
    getAmortizationsCount(request: GetAmortizationsCountRequest): Promise<number>;
    getAmortizationHolders(request: GetAmortizationHoldersRequest): Promise<string[]>;
    getTotalAmortizationHolders(request: GetTotalAmortizationHoldersRequest): Promise<number>;
    getAmortizationPaymentAmount(request: GetAmortizationPaymentAmountRequest): Promise<AmortizationPaymentAmountViewModel>;
    getActiveAmortizationHoldHolders(request: GetActiveAmortizationHoldHoldersRequest): Promise<string[]>;
    getTotalActiveAmortizationHoldHolders(request: GetTotalActiveAmortizationHoldHoldersRequest): Promise<number>;
    getActiveAmortizationIds(request: GetActiveAmortizationIdsRequest): Promise<number[]>;
    getTotalActiveAmortizationIds(request: GetTotalActiveAmortizationIdsRequest): Promise<number>;
}
declare const AmortizationToken: AmortizationInPort;
export default AmortizationToken;
export type { IAmortizationInPort };
