function afterRender<E = never, W = never, M = never>(spec: { earlyRead?: () => E; write?: (...args: [E] extends [never] ? [] : [E]) => W; mixedReadWrite?: (...args: [W] extends [never] ? [E] extends [never] ? [] : [E] : [W]) => M; read?: (...args: [...] extends [...] ? [...] extends [...] ? [...] extends [...] ? [] : [...] : [...] : [...]) => void; }, options?: Omit<AfterRenderOptions, "phase">): AfterRenderRef;function afterRender(callback: VoidFunction, options?: AfterRenderOptions): AfterRenderRef;