import { CommandBus } from "../../../core/command/CommandBus";
import { AddExternalControlListRequest, RemoveExternalControlListRequest, UpdateExternalControlListsRequest, GetExternalControlListsCountRequest, GetExternalControlListsMembersRequest, IsExternalControlListRequest, AddToBlackListMockRequest, AddToWhiteListMockRequest, RemoveFromBlackListMockRequest, RemoveFromWhiteListMockRequest, IsAuthorizedBlackListMockRequest, IsAuthorizedWhiteListMockRequest } from "../request/index";
import { QueryBus } from "../../../core/query/QueryBus";
interface IExternalControlListsInPort {
    updateExternalControlLists(request: UpdateExternalControlListsRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    addExternalControlList(request: AddExternalControlListRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    removeExternalControlList(request: RemoveExternalControlListRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    isExternalControlList(request: IsExternalControlListRequest): Promise<boolean>;
    getExternalControlListsCount(request: GetExternalControlListsCountRequest): Promise<number>;
    getExternalControlListsMembers(request: GetExternalControlListsMembersRequest): Promise<string[]>;
}
interface IExternalControlListsInPortMocksInPort {
    addToBlackListMock(request: AddToBlackListMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    addToWhiteListMock(request: AddToWhiteListMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    removeFromBlackListMock(request: RemoveFromBlackListMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    removeFromWhiteListMock(request: RemoveFromWhiteListMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    createExternalBlackListMock(): Promise<string>;
    createExternalWhiteListMock(): Promise<string>;
    isAuthorizedBlackListMock(request: IsAuthorizedBlackListMockRequest): Promise<boolean>;
    isAuthorizedWhiteListMock(request: IsAuthorizedWhiteListMockRequest): Promise<boolean>;
}
declare class ExternalControlListsInPort implements IExternalControlListsInPort, IExternalControlListsInPortMocksInPort {
    private readonly queryBus;
    private readonly commandBus;
    constructor(queryBus?: QueryBus, commandBus?: CommandBus);
    updateExternalControlLists(request: UpdateExternalControlListsRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    addExternalControlList(request: AddExternalControlListRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    removeExternalControlList(request: RemoveExternalControlListRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    isExternalControlList(request: IsExternalControlListRequest): Promise<boolean>;
    getExternalControlListsCount(request: GetExternalControlListsCountRequest): Promise<number>;
    getExternalControlListsMembers(request: GetExternalControlListsMembersRequest): Promise<string[]>;
    addToBlackListMock(request: AddToBlackListMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    addToWhiteListMock(request: AddToWhiteListMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    removeFromBlackListMock(request: RemoveFromBlackListMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    removeFromWhiteListMock(request: RemoveFromWhiteListMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    createExternalBlackListMock(): Promise<string>;
    createExternalWhiteListMock(): Promise<string>;
    isAuthorizedBlackListMock(request: IsAuthorizedBlackListMockRequest): Promise<boolean>;
    isAuthorizedWhiteListMock(request: IsAuthorizedWhiteListMockRequest): Promise<boolean>;
}
declare const ExternalControlListsManagement: ExternalControlListsInPort;
export default ExternalControlListsManagement;
