diff --git a/packages/svelte/src/index-client.js b/packages/svelte/src/index-client.js
index c76eacbf1b..d843426ce0 100644
--- a/packages/svelte/src/index-client.js
+++ b/packages/svelte/src/index-client.js
@@ -44,6 +44,29 @@ if (DEV) {
throw_rune_error('$bindable');
}
+/**
+ * Returns an [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that aborts when the current [derived](https://svelte.dev/docs/svelte/$derived) or [effect](https://svelte.dev/docs/svelte/$effect) re-runs or is destroyed.
+ *
+ * Must be called while a derived or effect is running.
+ *
+ * ```svelte
+ *
+ * ```
+ */
export function getAbortSignal() {
if (active_reaction === null) {
throw new Error('TODO getAbortSignal can only be called inside a reaction');
diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts
index e437bb6bab..63e2328101 100644
--- a/packages/svelte/types/index.d.ts
+++ b/packages/svelte/types/index.d.ts
@@ -348,6 +348,29 @@ declare module 'svelte' {
*/
props: Props;
});
+ /**
+ * Returns an [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that aborts when the current [derived](https://svelte.dev/docs/svelte/$derived) or [effect](https://svelte.dev/docs/svelte/$effect) re-runs or is destroyed.
+ *
+ * Must be called while a derived or effect is running.
+ *
+ * ```svelte
+ *
+ * ```
+ */
export function getAbortSignal(): AbortSignal;
/**
* `onMount`, like [`$effect`](https://svelte.dev/docs/svelte/$effect), schedules a function to run as soon as the component has been mounted to the DOM.