import { type MessageDescriptor } from "react-intl";
import { type MessageParameters } from "@gooddata/sdk-ui-kit";
import { type DashboardEventEvalFn } from "../../model/eventHandlers/eventHandler.js";
import { type ICustomDashboardEvent } from "../../model/events/base.js";
import { type DashboardEvents } from "../../model/events/index.js";
export declare function isMessageDescriptor(obj: unknown): obj is MessageDescriptor;
export declare function isMessageParameters(obj: unknown): obj is MessageParameters;
/**
 * Hook that registers (and unregisters on the hook unmount) command event listener that emits toast
 * messages into the message context based on the events it listens to.
 *
 * All the provided parameters below should have a stable reference and should not change between hook
 * re-renders otherwise the listener could be registered multiple times!
 *
 * @param type - type of toast message that should be emitted.
 * @param evaluator - evaluator to test the event we are listening to.
 * @param messageDescriptor - toast message descriptor or function that receives the matching event and produces the toast message descriptor.
 * @param messageParameters - optional message parameters or function that receives the matching event and produces the message parameters.
 */
export declare const useEventToastMessage: <TEvents extends ICustomDashboardEvent<any> | DashboardEvents>(type: "error" | "success" | "warning", evaluator: DashboardEventEvalFn, messageDescriptor: MessageDescriptor | ((event: TEvents) => MessageDescriptor), messageParameters?: MessageParameters | ((event: TEvents) => MessageParameters) | undefined) => void;
//# sourceMappingURL=useEventToastMessage.d.ts.map