/** File for types only, not actual implementation **/

export type Input<
  T extends object,
  R extends object = {},
> = T & ThisType<T & R> & {
  onMount?: () => R | void;
  onUpdate?: () => void;
  onDestroy?: () => void;
};
