import { MuiBaseEvent } from '../muiEvent'; import { GridEventLookup } from './gridEventLookup'; import { GridEventsStr } from './gridEvents'; declare type PublisherArgsNoEvent = [E, T['params']]; declare type PublisherArgsRequiredEvent = [E, T['params'], T['event']]; declare type PublisherArgsOptionalEvent = PublisherArgsRequiredEvent | PublisherArgsNoEvent; declare type PublisherArgsEvent = {} extends T['event'] ? PublisherArgsOptionalEvent : PublisherArgsRequiredEvent; declare type PublisherArgsParams = [E, T['params']]; declare type PublisherArgsNoParams = [E]; declare type GridEventPublisherArg = T extends { params: any; event: MuiBaseEvent; } ? PublisherArgsEvent : T extends { params: any; } ? PublisherArgsParams : PublisherArgsNoParams; export declare type GridEventPublisher = (...params: GridEventPublisherArg) => void; export {};