import { BatchForcedTransferRequest, BatchTransferRequest, ForcedTransferRequest, ForceTransferRequest, ProtectedTransferAndLockByPartitionRequest, ProtectedTransferFromByPartitionRequest, TransferAndLockRequest, TransferRequest } from '../../request';
import { BaseSecurityInPort } from '../BaseSecurityInPort';
export interface ISecurityInPortTransfer {
    transfer(request: TransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    transferAndLock(request: TransferAndLockRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    controllerTransfer(request: ForceTransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    forcedTransfer(request: ForcedTransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    batchTransfer(request: BatchTransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    batchForcedTransfer(request: BatchForcedTransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    protectedTransferAndLockByPartition(request: ProtectedTransferAndLockByPartitionRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    protectedTransferFromByPartition(request: ProtectedTransferFromByPartitionRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
}
export declare class SecurityInPortTransfer extends BaseSecurityInPort implements ISecurityInPortTransfer {
    transfer(request: TransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    transferAndLock(request: TransferAndLockRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    controllerTransfer(request: ForceTransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    forcedTransfer(request: ForcedTransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    protectedTransferAndLockByPartition(request: ProtectedTransferAndLockByPartitionRequest): Promise<{
        payload: number;
        transactionId: string;
    }>;
    batchTransfer(request: BatchTransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    batchForcedTransfer(request: BatchForcedTransferRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    protectedTransferFromByPartition(request: ProtectedTransferFromByPartitionRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
}
