import { Emitter } from 'mitt';
/**
 * Event map used by the PieUI Mitt emitter. Event names follow the convention
 * `pie{methodName}_{componentName}` and the payload is an arbitrary value
 * forwarded verbatim to registered handlers.
 */
export type MittEvents = {
    [key: string]: any;
};
/**
 * Returns the lazily-initialized singleton Mitt emitter used for cross-component
 * PieUI messaging outside of any React context.
 *
 * Prefer {@link usePieEmit} from within React components — it honours the
 * provider-supplied emitter from `MittContext` when one is available.
 *
 * @returns The process-wide Mitt emitter instance.
 */
export declare function getEmitter(): Emitter<MittEvents>;
/**
 * React context carrying the Mitt emitter injected by a PieRoot provider.
 * Consumers that need to emit from within a component tree should read from
 * this context (directly or via {@link usePieEmit}) so that events flow
 * through the same emitter the surrounding roots use.
 */
declare const MittContext: import("react").Context<Emitter<MittEvents> | null>;
/**
 * React hook that returns a stable emitter function bound to a specific
 * `PieCard` name. The returned callback accepts `(methodName, payload?)` and
 * dispatches through `MittContext` when available, falling back to the global
 * singleton returned by {@link getEmitter} when used outside of a PieRoot.
 *
 * @example
 * ```tsx
 * const emit = usePieEmit('mySequence')
 * emit('changeContent', { content: newConfig })
 * ```
 *
 * @param name The `data.name` of the target `PieCard` — must match the card
 *             that was rendered with `useMittSupport={true}`.
 * @returns A memoized `(methodName: string, payload?: any) => void` function.
 */
export declare function usePieEmit(name: string): (methodName: string, payload?: any) => void;
export default MittContext;
//# sourceMappingURL=mitt.d.ts.map