@dark-engine/platform-desktop
Version:
Dark renderer to desktop platforms like Windows, Linux, macOS via Nodegui and Qt
22 lines (21 loc) • 913 B
TypeScript
import { type QWidgetSignals, WidgetEventTypes } from '@nodegui/nodegui';
import { type NativeRawPointer } from '@nodegui/nodegui/dist/lib/core/Component';
declare class SyntheticEvent<T> {
type: string;
value: T;
constructor(options: SyntheticEvent<T>);
}
declare function createSyntheticEventHandler(
eventName: string,
handler: Function,
): (value: NativeRawPointer<'QEvent'>) => void;
declare const detectIsEvent: (attrName: string) => boolean;
export type EventHandler<T = any> = (e: SyntheticEvent<T>) => void;
declare function useEvents<T>(
map: Partial<
Record<T extends QWidgetSignals ? keyof T : T extends WidgetEventTypes ? WidgetEventTypes : never, EventHandler>
>,
): Partial<
Record<T extends QWidgetSignals ? keyof T : T extends WidgetEventTypes ? WidgetEventTypes : never, EventHandler<any>>
>;
export { SyntheticEvent, createSyntheticEventHandler, detectIsEvent, useEvents };