import { DataModels, IEventExtensionAdapter, Identity, Messages, Subscription } from '@5minds/processcube_engine_sdk';
import { FlowNodeInstanceService, NotificationService } from '../../../Api/Services';
import { IdentityService } from '../../Iam';
type EventList = DataModels.FlowNodeInstances.EventList;
export declare class EventExtensionAdapter implements IEventExtensionAdapter {
    private readonly flowNodeInstanceService;
    private readonly logger;
    private readonly notificationService;
    private readonly identityService;
    constructor(flowNodeInstanceService: FlowNodeInstanceService, notificationService: NotificationService, identityService: IdentityService);
    query(query: DataModels.FlowNodeInstances.EventQuery, options?: {
        identity?: Identity;
        offset?: number;
        limit?: number;
        sortSettings?: DataModels.FlowNodeInstances.FlowNodeInstanceSortSettings;
        includeCount?: boolean;
    }): Promise<EventList>;
    triggerMessageEvent<TPayload>(messageName: string, options?: {
        customCorrelationId?: string;
        processInstanceId?: string;
        payload?: TPayload;
        identity?: Identity;
        messageChannel?: string;
    }): Promise<void>;
    triggerSignalEvent<TPayload>(signalName: string, options?: {
        customCorrelationId?: string;
        processInstanceId?: string;
        payload?: TPayload;
        identity?: Identity;
        signalChannel?: string;
    }): Promise<void>;
    triggerTimerEvent(flowNodeInstanceId: string, options?: {
        identity?: Identity;
    }): Promise<void>;
    onBoundaryEventTriggered(callback: Messages.CallbackTypes.OnBoundaryEventTriggeredCallback, options?: {
        subscribeOnce?: boolean;
        identity?: Identity;
    }): Promise<Subscription>;
    onBoundaryEventFinished(callback: Messages.CallbackTypes.OnBoundaryEventFinishedCallback, options?: {
        subscribeOnce?: boolean;
        identity?: Identity;
    }): Promise<Subscription>;
    onIntermediateThrowEventTriggered(callback: Messages.CallbackTypes.OnIntermediateThrowEventTriggeredCallback, options?: {
        subscribeOnce?: boolean;
        identity?: Identity;
    }): Promise<Subscription>;
    onIntermediateCatchEventReached(callback: Messages.CallbackTypes.OnIntermediateCatchEventReachedCallback, options?: {
        subscribeOnce?: boolean;
        identity?: Identity;
    }): Promise<Subscription>;
    onIntermediateCatchEventFinished(callback: Messages.CallbackTypes.OnIntermediateCatchEventFinishedCallback, options?: {
        subscribeOnce?: boolean;
        identity?: Identity;
    }): Promise<Subscription>;
    onMessageTriggered(callback: Messages.CallbackTypes.OnMessageTriggeredCallback, options?: {
        subscribeOnce?: boolean;
        identity?: DataModels.Iam.Identity;
    }): Promise<Subscription>;
    onSignalTriggered(callback: Messages.CallbackTypes.OnSignalTriggeredCallback, options?: {
        subscribeOnce?: boolean;
        identity?: DataModels.Iam.Identity;
    }): Promise<Subscription>;
    onStartEventFinished(callback: Messages.CallbackTypes.OnStartEventFinishedCallback, options?: {
        subscribeOnce?: boolean;
        identity?: DataModels.Iam.Identity;
    }): Promise<Subscription>;
    onEndEventFinished(callback: Messages.CallbackTypes.OnEndEventFinishedCallback, options?: {
        subscribeOnce?: boolean;
        identity?: DataModels.Iam.Identity;
    }): Promise<Subscription>;
    removeSubscription(subscription: Subscription): void;
}
export {};
