import { Transactionable } from '@tego/server';
import type Plugin from '../Plugin';
import type { WorkflowModel } from '../types';
export declare abstract class Trigger {
    readonly workflow: Plugin;
    constructor(workflow: Plugin);
    abstract on(workflow: WorkflowModel): void;
    abstract off(workflow: WorkflowModel): void;
    validateEvent(workflow: WorkflowModel, context: any, options: Transactionable): boolean | Promise<boolean>;
    duplicateConfig?(workflow: WorkflowModel, options: Transactionable): object | Promise<object>;
    sync?: boolean;
}
export default Trigger;
