import { SchemaInitializerItemType } from '@tachybase/client';
import { ISchema } from '@tachybase/schema';
import { UseVariableOptions, VariableOption } from '../variable';
export declare abstract class Trigger {
    sync: boolean;
    title: string;
    description?: string;
    useVariables?(config: Record<string, any>, options?: UseVariableOptions): VariableOption[];
    fieldset: {
        [key: string]: ISchema;
    };
    view?: ISchema;
    scope?: {
        [key: string]: any;
    };
    components?: {
        [key: string]: any;
    };
    useInitializers?(config: any): SchemaInitializerItemType | null;
    initializers?: any;
    isActionTriggerable?: boolean | ((config: object, context?: object) => boolean);
}
export declare const TriggerConfig: () => import("react/jsx-runtime").JSX.Element;
export declare function useTrigger(): Trigger;
