import { Static } from '@sinclair/typebox';
import { UIServices } from '../../types';
import { EventHandlerSpec } from '@sunmao-ui/shared';
export declare const EventTraitPropertiesSpec: import("@sinclair/typebox").TObject<import("@sinclair/typebox").StaticProperties<{
    handlers: import("@sinclair/typebox").TArray<import("@sinclair/typebox").StaticArray<import("@sinclair/typebox").TObject<import("@sinclair/typebox").StaticProperties<{
        componentId: import("@sinclair/typebox").TString;
        method: import("@sinclair/typebox").TObject<import("@sinclair/typebox").StaticProperties<{
            name: import("@sinclair/typebox").TString;
            parameters: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<Record<string, any>>>;
        }>>;
        wait: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<import("@sinclair/typebox").StaticProperties<{
            type: import("@sinclair/typebox").TKeyOf<"debounce" | "throttle" | "delay">;
            time: import("@sinclair/typebox").TNumber;
        }>>>;
        disabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
        type: import("@sinclair/typebox").TString;
    }>>>>;
}>>;
export declare const generateCallback: (handler: Omit<Static<typeof EventHandlerSpec>, 'type'>, rawHandler: Static<typeof EventHandlerSpec>, services: UIServices) => () => void;
declare const _default: import("../../types").ImplementedRuntimeTraitFactory;
export default _default;
