/**
 * React hook for frontend-model class lifecycle events.
 * @param {FrontendModelClass | null | undefined} modelClass - Frontend model class.
 * @param {FrontendModelClassEventName | FrontendModelClassEventName[]} eventOrEvents - Event name or names.
 * @param {FrontendModelClassEventCallback} callback - Event callback.
 * @param {UseModelClassEventOptions} [options] - Hook options.
 * @returns {void}
 */
export default function useModelClassEvent(modelClass: FrontendModelClass | null | undefined, eventOrEvents: FrontendModelClassEventName | FrontendModelClassEventName[], callback: FrontendModelClassEventCallback, options?: UseModelClassEventOptions): void;
/**
 * FrontendModelClass type.
 */
export type FrontendModelClass = typeof import("./base.js").default;
/**
 * FrontendModelInstance type.
 */
export type FrontendModelInstance = InstanceType<FrontendModelClass>;
/**
 * FrontendModelClassEventName type.
 */
export type FrontendModelClassEventName = "create" | "update" | "destroy";
/**
 * Defines this typedef.
 */
export type FrontendModelCreateUpdateEventPayload = {
    id: string;
    model: FrontendModelInstance;
};
/**
 * Defines this typedef.
 */
export type FrontendModelDestroyEventPayload = {
    id: string;
};
/**
 * FrontendModelClassEventPayload type.
 */
export type FrontendModelClassEventPayload = FrontendModelCreateUpdateEventPayload | FrontendModelDestroyEventPayload;
/**
 * FrontendModelClassEventCallback type.
 */
export type FrontendModelClassEventCallback = (payload: FrontendModelClassEventPayload) => void;
/**
 * Defines this typedef.
 */
export type UseModelClassEventOptions = {
    active?: boolean;
    debounce?: boolean | number;
    onConnected?: () => void;
} & import("./query.js").FrontendModelEventOptionsObject;
//# sourceMappingURL=use-model-class-event.d.ts.map