@javelin/ecs
Version:
8 lines • 670 B
TypeScript
export declare type SignalSubscriber<$Arg1, $Arg2, $Arg3, $Arg4> = $Arg1 extends void ? () => void : (arg1: $Arg1, arg2: $Arg2, arg3: $Arg3, arg4: $Arg4) => void;
export declare type SignalUnsubscribeCallback = () => void;
export declare type Signal<$Arg1 = unknown, $Arg2 = unknown, $Arg3 = unknown, $Arg4 = unknown> = {
subscribe(subscriber: SignalSubscriber<$Arg1, $Arg2, $Arg3, $Arg4>): SignalUnsubscribeCallback;
dispatch(arg1?: $Arg1, arg2?: $Arg2, arg3?: $Arg3, arg4?: $Arg4): void;
};
export declare const createSignal: <$Arg1 = void, $Arg2 = void, $Arg3 = void, $Arg4 = void>() => Signal<$Arg1, $Arg2, $Arg3, $Arg4>;
//# sourceMappingURL=signal.d.ts.map