/** * Like Partial, but recursive. */ export declare type RecursivePartial = { [P in keyof T]?: (T[P] extends (infer U)[] ? RecursivePartial[] : T[P] extends Record ? RecursivePartial : T[P]) | undefined; }; export interface Particle { life: number; x: number; vx: number; y: number; vy: number; } export declare type GridRendererEventMap = { tiledown: [ x: number, y: number ]; tilemove: [ x: number, y: number ]; tileup: [ x: number, y: number ] | [false]; tileclick: [ x: number, y: number ]; }; export declare type ToneTransportEventMap = { start: [time: number, offset: number]; pause: [time: number]; stop: [time: number]; loopEnd: [time: number]; loopStart: [time: number, offset: number]; loop: [time: number]; }; export declare type ToneMatrixEventMap = ToneTransportEventMap & GridRendererEventMap; export declare type ParseEventMap = { [key in keyof EventMap]: [ev: EventMap[key]]; };