import { CommandBus } from "../../../core/command/CommandBus";
import { AddExternalPauseRequest, RemoveExternalPauseRequest, UpdateExternalPausesRequest, GetExternalPausesCountRequest, GetExternalPausesMembersRequest, IsExternalPauseRequest, IsPausedMockRequest, SetPausedMockRequest } from "../request/index";
import { QueryBus } from "../../../core/query/QueryBus";
interface IExternalPausesInPort {
    updateExternalPauses(request: UpdateExternalPausesRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    addExternalPause(request: AddExternalPauseRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    removeExternalPause(request: RemoveExternalPauseRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    isExternalPause(request: IsExternalPauseRequest): Promise<boolean>;
    getExternalPausesCount(request: GetExternalPausesCountRequest): Promise<number>;
    getExternalPausesMembers(request: GetExternalPausesMembersRequest): Promise<string[]>;
}
interface IExternalPausesMocksInPort {
    setPausedMock(request: SetPausedMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    isPausedMock(request: IsPausedMockRequest): Promise<boolean>;
    createMock(): Promise<string>;
}
declare class ExternalPausesInPort implements IExternalPausesInPort, IExternalPausesMocksInPort {
    private readonly queryBus;
    private readonly commandBus;
    constructor(queryBus?: QueryBus, commandBus?: CommandBus);
    updateExternalPauses(request: UpdateExternalPausesRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    addExternalPause(request: AddExternalPauseRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    removeExternalPause(request: RemoveExternalPauseRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    isExternalPause(request: IsExternalPauseRequest): Promise<boolean>;
    getExternalPausesCount(request: GetExternalPausesCountRequest): Promise<number>;
    getExternalPausesMembers(request: GetExternalPausesMembersRequest): Promise<string[]>;
    setPausedMock(request: SetPausedMockRequest): Promise<{
        payload: boolean;
        transactionId: string;
    }>;
    isPausedMock(request: IsPausedMockRequest): Promise<boolean>;
    createMock(): Promise<string>;
}
declare const ExternalPausesManagement: ExternalPausesInPort;
export default ExternalPausesManagement;
