import { Plugin } from '@tachybase/client';
import { Registry } from '@tego/client';
import { Instruction } from './nodes/default-node/interface';
import { Trigger } from './triggers';
export declare class PluginWorkflow extends Plugin {
    triggers: Registry<Trigger>;
    instructions: Registry<Instruction>;
    getTriggersOptions: () => {
        value: string;
        label: string;
        color: string;
        options: {
            sync: boolean;
            description?: string;
            fieldset: {
                [key: string]: import("@tachybase/schema").ISchema;
            };
            view?: import("@tachybase/schema").ISchema;
            scope?: {
                [key: string]: any;
            };
            components?: {
                [key: string]: any;
            };
            initializers?: any;
            isActionTriggerable?: boolean | ((config: object, context?: object) => boolean);
        };
    }[];
    isWorkflowSync(workflow: any): any;
    registerTrigger(type: string, trigger: Trigger | {
        new (): Trigger;
    }): void;
    registerInstruction(type: string, instruction: Instruction | {
        new (): Instruction;
    }): void;
    afterAdd(): Promise<void>;
    load(): Promise<void>;
    addComponents(): void;
}
