import { GetLockCountRequest, GetLockedBalanceRequest, GetLockRequest, GetLocksIdRequest, LockRequest, ReleaseRequest } from "../../request";
import { BalanceViewModel, LockViewModel } from "../../response";
import { BaseSecurityInPort } from "../BaseSecurityInPort";
export interface ISecurityInPortLock {
    lock(request: LockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    release(request: ReleaseRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    getLockedBalanceOf(request: GetLockedBalanceRequest): Promise<BalanceViewModel>;
    getLockCount(request: GetLockCountRequest): Promise<number>;
    getLocksId(request: GetLocksIdRequest): Promise<string[]>;
    getLock(request: GetLockRequest): Promise<LockViewModel>;
}
export declare class SecurityInPortLock extends BaseSecurityInPort implements ISecurityInPortLock {
    lock(request: LockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    release(request: ReleaseRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    getLockedBalanceOf(request: GetLockedBalanceRequest): Promise<BalanceViewModel>;
    getLockCount(request: GetLockCountRequest): Promise<number>;
    getLocksId(request: GetLocksIdRequest): Promise<string[]>;
    getLock(request: GetLockRequest): Promise<LockViewModel>;
}
