diff --git a/.changeset/violet-things-wear.md b/.changeset/violet-things-wear.md
new file mode 100644
index 000000000000..33983d0f5e76
--- /dev/null
+++ b/.changeset/violet-things-wear.md
@@ -0,0 +1,5 @@
+---
+'@sveltejs/kit': patch
+---
+
+fix: allow optional types for remote query/command/prerender functions
diff --git a/packages/kit/src/exports/public.d.ts b/packages/kit/src/exports/public.d.ts
index c6bc1dcce8df..87ce0f28e11c 100644
--- a/packages/kit/src/exports/public.d.ts
+++ b/packages/kit/src/exports/public.d.ts
@@ -2110,7 +2110,7 @@ export type RemoteForm = {
* The return value of a remote `command` function. See [Remote functions](https://svelte.dev/docs/kit/remote-functions#command) for full documentation.
*/
export type RemoteCommand = {
- (arg: Input): Promise> & {
+ (arg: undefined extends Input ? Input | void : Input): Promise> & {
updates(...queries: Array | RemoteQueryOverride>): Promise>;
};
/** The number of pending command executions */
@@ -2180,11 +2180,15 @@ export interface RemoteQueryOverride {
/**
* The return value of a remote `prerender` function. See [Remote functions](https://svelte.dev/docs/kit/remote-functions#prerender) for full documentation.
*/
-export type RemotePrerenderFunction = (arg: Input) => RemoteResource