import { QueryBus } from "../../../core/query/QueryBus";
import { CommandBus } from "../../../core/command/CommandBus";
import GrantKycRequest from "../request/security/kyc/GrantKycRequest";
import RevokeKycRequest from "../request/security/kyc/RevokeKycRequest";
import GetKycAccountsCountRequest from "../request/security/kyc/GetKycAccountsCountRequest";
import GetKycForRequest from "../request/security/kyc/GetKycForRequest";
import KycViewModel from "../response/KycViewModel";
import KycAccountDataViewModel from "../response/KycAccountDataViewModel";
import GetKycAccountsDataRequest from "../request/security/kyc/GetKycAccountsDataRequest";
import GetKycStatusForRequest from "../request/security/kyc/GetKycStatusForRequest";
import { ActivateInternalKycRequest, DeactivateInternalKycRequest, IsInternalKycActivatedRequest } from "../request/index";
interface IKycInPort {
    grantKyc(request: GrantKycRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    revokeKyc(request: RevokeKycRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    activateInternalKyc(request: ActivateInternalKycRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    deactivateInternalKyc(request: DeactivateInternalKycRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    getKycAccountsCount(request: GetKycAccountsCountRequest): Promise<number>;
    getKycFor(request: GetKycForRequest): Promise<KycViewModel>;
    getKycAccountsData(request: GetKycAccountsDataRequest): Promise<KycViewModel[]>;
    getKycStatusFor(request: GetKycStatusForRequest): Promise<number>;
    isInternalKycActivated(request: IsInternalKycActivatedRequest): Promise<boolean>;
}
declare class KycInPort implements IKycInPort {
    private readonly commandBus;
    private readonly queryBus;
    constructor(commandBus?: CommandBus, queryBus?: QueryBus);
    grantKyc(request: GrantKycRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    revokeKyc(request: RevokeKycRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    getKycFor(request: GetKycForRequest): Promise<KycViewModel>;
    getKycAccountsCount(request: GetKycAccountsCountRequest): Promise<number>;
    getKycAccountsData(request: GetKycAccountsDataRequest): Promise<KycAccountDataViewModel[]>;
    getKycStatusFor(request: GetKycStatusForRequest): Promise<number>;
    activateInternalKyc(request: ActivateInternalKycRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    deactivateInternalKyc(request: DeactivateInternalKycRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    isInternalKycActivated(request: IsInternalKycActivatedRequest): Promise<boolean>;
}
declare const Kyc: KycInPort;
export default Kyc;
