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