Commit a5b16c29c25 for woocommerce

commit a5b16c29c25f24655598e35fbd85782acbf6618a
Author: Luigi Teschio <gigitux@gmail.com>
Date:   Mon Oct 12 14:38:58 2026 +0200

    Restore async filter callback TypeScript compatibility (#69602)

    * Restore async filter callback type compatibility

    * Add changelog entry for async filter callback compatibility

diff --git a/packages/js/components/changelog/wooairr-480-async-filter-callback-types b/packages/js/components/changelog/wooairr-480-async-filter-callback-types
new file mode 100644
index 00000000000..304b4ea2de5
--- /dev/null
+++ b/packages/js/components/changelog/wooairr-480-async-filter-callback-types
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Restore TypeScript compatibility for existing async select filter callbacks.
diff --git a/packages/js/components/src/experimental-select-control/hooks/use-async-filter.tsx b/packages/js/components/src/experimental-select-control/hooks/use-async-filter.tsx
index 78ccd81578a..b379b3e76a7 100644
--- a/packages/js/components/src/experimental-select-control/hooks/use-async-filter.tsx
+++ b/packages/js/components/src/experimental-select-control/hooks/use-async-filter.tsx
@@ -66,13 +66,15 @@ export default function useAsyncFilter< T >( {
 	};
 }

+/* eslint-disable @typescript-eslint/method-signature-style -- Preserve callback parameter variance for existing TypeScript consumers. */
 export type UseAsyncFilterInput< T > = {
-	filter: ( value?: string ) => Promise< T[] >;
-	onFilterStart?: ( value?: string ) => void;
-	onFilterEnd?: ( filteredItems: T[], value?: string ) => void;
-	onFilterError?: ( error: Error, value?: string ) => void;
+	filter( value?: string ): Promise< T[] >;
+	onFilterStart?( value?: string ): void;
+	onFilterEnd?( filteredItems: T[], value?: string ): void;
+	onFilterError?( error: Error, value?: string ): void;
 	debounceTime?: number;
 };
+/* eslint-enable @typescript-eslint/method-signature-style */

 export type UseAsyncFilterOutput< T > = Pick<
 	SelectControlProps< T >,