@reactive-vscode/vueuse 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -43,13 +43,13 @@ export declare const assert: (condition: boolean, ...infos: any[]) => void;
43
43
  */
44
44
  export declare type AsyncComputedOnCancel = (cancelCallback: Fn) => void;
45
45
 
46
- export declare interface AsyncComputedOptions {
46
+ export declare interface AsyncComputedOptions<Lazy = boolean> {
47
47
  /**
48
48
  * Should value be evaluated lazily
49
49
  *
50
50
  * @default false
51
51
  */
52
- lazy?: boolean;
52
+ lazy?: Lazy;
53
53
  /**
54
54
  * Ref passed to receive the updated of async evaluation
55
55
  */
@@ -60,6 +60,15 @@ export declare interface AsyncComputedOptions {
60
60
  * @default true
61
61
  */
62
62
  shallow?: boolean;
63
+ /**
64
+ * The flush option allows for greater control over the timing of a history point, default to `pre`
65
+ *
66
+ * Possible values: `pre`, `post`, `sync`
67
+ *
68
+ * It works in the same way as the flush option in watch and watch effect in vue reactivity
69
+ * @default 'pre'
70
+ */
71
+ flush?: 'pre' | 'post' | 'sync';
63
72
  /**
64
73
  * Callback when error is caught.
65
74
  */
@@ -135,24 +144,28 @@ declare type Combination = 'overwrite' | 'chain';
135
144
  * @param initialState The initial state, used until the first evaluation finishes
136
145
  * @param optionsOrRef Additional options or a ref passed to receive the updates of the async evaluation
137
146
  */
147
+ declare function computedAsync<T>(evaluationCallback: (onCancel: AsyncComputedOnCancel) => T | Promise<T>, initialState: T, optionsOrRef: AsyncComputedOptions<true>): ComputedRef<T>;
148
+
149
+ declare function computedAsync<T>(evaluationCallback: (onCancel: AsyncComputedOnCancel) => T | Promise<T>, initialState: undefined, optionsOrRef: AsyncComputedOptions<true>): ComputedRef<T | undefined>;
150
+
138
151
  declare function computedAsync<T>(evaluationCallback: (onCancel: AsyncComputedOnCancel) => T | Promise<T>, initialState: T, optionsOrRef?: Ref<boolean> | AsyncComputedOptions): Ref<T>;
139
152
 
140
153
  declare function computedAsync<T>(evaluationCallback: (onCancel: AsyncComputedOnCancel) => T | Promise<T>, initialState?: undefined, optionsOrRef?: Ref<boolean> | AsyncComputedOptions): Ref<T | undefined>;
141
154
  export { computedAsync as asyncComputed }
142
155
  export { computedAsync }
143
156
 
144
- declare type ComputedInjectGetter<T, K> = (source: T | undefined, ctx?: any) => K;
157
+ declare type ComputedInjectGetter<T, K> = (source: T | undefined, oldValue?: K) => K;
145
158
 
146
- declare type ComputedInjectGetterWithDefault<T, K> = (source: T, ctx?: any) => K;
159
+ declare type ComputedInjectGetterWithDefault<T, K> = (source: T, oldValue?: K) => K;
147
160
 
148
161
  declare type ComputedInjectSetter<T> = (v: T) => void;
149
162
 
150
163
  export declare interface ComputedRefWithControl<T> extends ComputedRef<T>, ComputedWithControlRefExtra {
151
164
  }
152
165
 
153
- declare function computedWithControl<T, S>(source: WatchSource<S> | WatchSource<S>[], fn: ComputedGetter<T>): ComputedRefWithControl<T>;
166
+ declare function computedWithControl<T, S>(source: WatchSource<S> | WatchSource<S>[], fn: ComputedGetter<T>, options?: WatchOptions): ComputedRefWithControl<T>;
154
167
 
155
- declare function computedWithControl<T, S>(source: WatchSource<S> | WatchSource<S>[], fn: WritableComputedOptions<T>): WritableComputedRefWithControl<T>;
168
+ declare function computedWithControl<T, S>(source: WatchSource<S> | WatchSource<S>[], fn: WritableComputedOptions<T>, options?: WatchOptions): WritableComputedRefWithControl<T>;
156
169
  export { computedWithControl }
157
170
  export { computedWithControl as controlledComputed }
158
171
 
@@ -234,8 +247,10 @@ export declare interface ControlledRefOptions<T> {
234
247
  * Utility for creating event hooks
235
248
  *
236
249
  * @see https://vueuse.org/createEventHook
250
+ *
251
+ * @__NO_SIDE_EFFECTS__
237
252
  */
238
- export declare function createEventHook<T = any>(): EventHook<T>;
253
+ export declare function createEventHook<T = any>(): EventHookReturn<T>;
239
254
 
240
255
  export declare function createFetch(config?: CreateFetchOptions): typeof useFetch;
241
256
 
@@ -266,15 +281,21 @@ export declare interface CreateFetchOptions {
266
281
  *
267
282
  * @see https://vueuse.org/createGlobalState
268
283
  * @param stateFactory A factory function to create the state
284
+ *
285
+ * @__NO_SIDE_EFFECTS__
269
286
  */
270
- export declare function createGlobalState<Fn extends AnyFn>(stateFactory: Fn): Fn;
287
+ export declare function createGlobalState<Fn extends AnyFn>(stateFactory: Fn): CreateGlobalStateReturn<Fn>;
288
+
289
+ declare type CreateGlobalStateReturn<Fn extends AnyFn = AnyFn> = Fn;
271
290
 
272
291
  /**
273
292
  * Make a composable function usable with multiple Vue instances.
274
293
  *
275
294
  * @see https://vueuse.org/createSharedComposable
295
+ *
296
+ * @__NO_SIDE_EFFECTS__
276
297
  */
277
- export declare function createSharedComposable<Fn extends AnyFn>(composable: Fn): Fn;
298
+ export declare function createSharedComposable<Fn extends AnyFn>(composable: Fn): SharedComposableReturn<Fn>;
278
299
 
279
300
  /**
280
301
  * Create singleton promise function
@@ -293,6 +314,8 @@ export declare function createSingletonPromise<T>(fn: () => Promise<T>): Singlet
293
314
  /**
294
315
  * Make a plain function accepting ref and raw values as arguments.
295
316
  * Returns the same value the unconverted function returns, with proper typing.
317
+ *
318
+ * @__NO_SIDE_EFFECTS__
296
319
  */
297
320
  export declare function createUnrefFn<T extends Function>(fn: T): UnrefFn<T>;
298
321
 
@@ -370,6 +393,8 @@ export declare type EventHookOn<T = any> = (fn: Callback<T>) => {
370
393
  off: () => void;
371
394
  };
372
395
 
396
+ declare type EventHookReturn<T> = EventHook<T>;
397
+
373
398
  export declare type EventHookTrigger<T = any> = (...param: Parameters<Callback<T>>) => Promise<unknown[]>;
374
399
 
375
400
  /**
@@ -470,6 +495,8 @@ export declare function identity<T>(arg: T): T;
470
495
 
471
496
  export declare type IfAny<T, Y, N> = 0 extends (1 & T) ? Y : N;
472
497
 
498
+ declare type IgnoredPrevAsyncUpdates = () => void;
499
+
473
500
  export declare type IgnoredUpdater = (updater: () => void) => void;
474
501
 
475
502
  /**
@@ -578,7 +605,7 @@ export declare interface Pausable {
578
605
  /**
579
606
  * A ref indicate whether a pausable instance is active
580
607
  */
581
- isActive: Readonly<ShallowRef<boolean>>;
608
+ readonly isActive: Readonly<ShallowRef<boolean>>;
582
609
  /**
583
610
  * Temporary pause the effect from executing
584
611
  */
@@ -628,8 +655,11 @@ export declare type Reactified<T, Computed extends boolean> = T extends (...args
628
655
  * and returns a ComputedRef, with proper typing.
629
656
  *
630
657
  * @param fn - Source function
658
+ * @param options - Options
659
+ *
660
+ * @__NO_SIDE_EFFECTS__
631
661
  */
632
- declare function reactify<T extends Function, K extends boolean = true>(fn: T, options?: ReactifyOptions<K>): Reactified<T, K>;
662
+ declare function reactify<T extends AnyFn, K extends boolean = true>(fn: T, options?: ReactifyOptions<K>): ReactifyReturn<T, K>;
633
663
  export { reactify as createReactiveFn }
634
664
  export { reactify }
635
665
 
@@ -639,10 +669,12 @@ export declare type ReactifyNested<T, Keys extends keyof T = keyof T, S extends
639
669
 
640
670
  /**
641
671
  * Apply `reactify` to an object
672
+ *
673
+ * @__NO_SIDE_EFFECTS__
642
674
  */
643
- export declare function reactifyObject<T extends object, Keys extends keyof T>(obj: T, keys?: (keyof T)[]): ReactifyNested<T, Keys, true>;
675
+ export declare function reactifyObject<T extends object, Keys extends keyof T>(obj: T, keys?: (keyof T)[]): ReactifyObjectReturn<T, Keys, true>;
644
676
 
645
- export declare function reactifyObject<T extends object, S extends boolean = true>(obj: T, options?: ReactifyObjectOptions<S>): ReactifyNested<T, keyof T, S>;
677
+ export declare function reactifyObject<T extends object, S extends boolean = true>(obj: T, options?: ReactifyObjectOptions<S>): ReactifyObjectReturn<T, keyof T, S>;
646
678
 
647
679
  export declare interface ReactifyObjectOptions<T extends boolean> extends ReactifyOptions<T> {
648
680
  /**
@@ -653,6 +685,8 @@ export declare interface ReactifyObjectOptions<T extends boolean> extends Reacti
653
685
  includeOwnProperties?: boolean;
654
686
  }
655
687
 
688
+ declare type ReactifyObjectReturn<T, Keys extends keyof T, S extends boolean = true> = ReactifyNested<T, Keys, S>;
689
+
656
690
  export declare interface ReactifyOptions<T extends boolean> {
657
691
  /**
658
692
  * Accept passing a function as a reactive getter
@@ -662,27 +696,33 @@ export declare interface ReactifyOptions<T extends boolean> {
662
696
  computedGetter?: T;
663
697
  }
664
698
 
699
+ declare type ReactifyReturn<T extends AnyFn = AnyFn, K extends boolean = true> = Reactified<T, K>;
700
+
665
701
  /**
666
702
  * Computed reactive object.
667
703
  */
668
- export declare function reactiveComputed<T extends object>(fn: ComputedGetter<T>): UnwrapNestedRefs<T>;
704
+ export declare function reactiveComputed<T extends object>(fn: ComputedGetter<T>): ReactiveComputedReturn<T>;
669
705
 
670
- export declare function reactiveOmit<T extends object, K extends keyof T>(obj: T, ...keys: (K | K[])[]): Omit<T, K>;
706
+ declare type ReactiveComputedReturn<T extends object> = UnwrapNestedRefs<T>;
671
707
 
672
- export declare function reactiveOmit<T extends object>(obj: T, predicate: ReactiveOmitPredicate<T>): Partial<T>;
708
+ export declare function reactiveOmit<T extends object, K extends keyof T>(obj: T, ...keys: (K | K[])[]): ReactiveOmitReturn<T, K>;
709
+
710
+ export declare function reactiveOmit<T extends object>(obj: T, predicate: ReactiveOmitPredicate<T>): ReactiveOmitReturn<T>;
673
711
 
674
712
  export declare type ReactiveOmitPredicate<T> = (value: T[keyof T], key: keyof T) => boolean;
675
713
 
676
- export declare function reactivePick<T extends object, K extends keyof T>(obj: T, ...keys: (K | K[])[]): {
677
- [S in K]: UnwrapRef<T[S]>;
678
- };
714
+ declare type ReactiveOmitReturn<T extends object, K extends keyof T | undefined = undefined> = [K] extends [undefined] ? Partial<T> : Omit<T, Extract<K, keyof T>>;
679
715
 
680
- export declare function reactivePick<T extends object>(obj: T, predicate: ReactivePickPredicate<T>): {
681
- [S in keyof T]?: UnwrapRef<T[S]>;
682
- };
716
+ export declare function reactivePick<T extends object, K extends keyof T>(obj: T, ...keys: (K | K[])[]): ReactivePickReturn<T, K>;
717
+
718
+ export declare function reactivePick<T extends object>(obj: T, predicate: ReactivePickPredicate<T>): ReactivePickReturn<T, keyof T>;
683
719
 
684
720
  export declare type ReactivePickPredicate<T> = (value: T[keyof T], key: keyof T) => boolean;
685
721
 
722
+ declare type ReactivePickReturn<T extends object, K extends keyof T> = {
723
+ [S in K]: UnwrapRef<T[S]>;
724
+ };
725
+
686
726
  /**
687
727
  * Maybe it's a computed ref, or a readonly value, or a getter function
688
728
  */
@@ -695,22 +735,28 @@ export declare type ReadonlyRefOrGetter<T> = ComputedRef<T> | (() => T);
695
735
  * @param defaultValue The value which will be set.
696
736
  * @param afterMs A zero-or-greater delay in milliseconds.
697
737
  */
698
- declare function refAutoReset<T>(defaultValue: MaybeRefOrGetter<T>, afterMs?: MaybeRefOrGetter<number>): Ref<T>;
738
+ declare function refAutoReset<T>(defaultValue: MaybeRefOrGetter<T>, afterMs?: MaybeRefOrGetter<number>): RefAutoResetReturn<T>;
699
739
  export { refAutoReset as autoResetRef }
700
740
  export { refAutoReset }
701
741
 
742
+ declare type RefAutoResetReturn<T = any> = Ref<T>;
743
+
702
744
  /**
703
745
  * Debounce updates of a ref.
704
746
  *
705
747
  * @return A new debounced ref.
706
748
  */
707
- declare function refDebounced<T>(value: Ref<T>, ms?: MaybeRefOrGetter<number>, options?: DebounceFilterOptions): Readonly<Ref<T>>;
749
+ declare function refDebounced<T>(value: Ref<T>, ms?: MaybeRefOrGetter<number>, options?: DebounceFilterOptions): RefDebouncedReturn<T>;
708
750
  export { refDebounced as debouncedRef }
709
751
  export { refDebounced }
710
752
  export { refDebounced as useDebounce }
711
753
 
754
+ declare type RefDebouncedReturn<T = any> = Readonly<Ref<T>>;
755
+
712
756
  /**
713
757
  * Apply default value to a ref.
758
+ *
759
+ * @__NO_SIDE_EFFECTS__
714
760
  */
715
761
  export declare function refDefault<T>(source: Ref<T | undefined | null>, defaultValue: T): Ref<T>;
716
762
 
@@ -720,16 +766,20 @@ export declare function refDefault<T>(source: Ref<T | undefined | null>, default
720
766
  *
721
767
  * @param value Ref value to be watched with throttle effect
722
768
  * @param delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
723
- * @param [trailing] if true, update the value again after the delay time is up
724
- * @param [leading] if true, update the value on the leading edge of the ms timeout
769
+ * @param trailing if true, update the value again after the delay time is up
770
+ * @param leading if true, update the value on the leading edge of the ms timeout
725
771
  */
726
- declare function refThrottled<T>(value: Ref<T>, delay?: number, trailing?: boolean, leading?: boolean): Ref<T, T>;
772
+ declare function refThrottled<T = any>(value: Ref<T>, delay?: number, trailing?: boolean, leading?: boolean): RefThrottledReturn<T>;
727
773
  export { refThrottled }
728
774
  export { refThrottled as throttledRef }
729
775
  export { refThrottled as useThrottle }
730
776
 
777
+ declare type RefThrottledReturn<T = any> = Ref<T>;
778
+
731
779
  /**
732
780
  * Fine-grained controls over ref and its reactivity.
781
+ *
782
+ * @__NO_SIDE_EFFECTS__
733
783
  */
734
784
  export declare function refWithControl<T>(initial: T, options?: ControlledRefOptions<T>): vue.ShallowUnwrapRef<{
735
785
  get: (tracking?: boolean) => T;
@@ -776,6 +826,8 @@ declare type ShallowOrDeepRef<T = any, D extends boolean = false> = D extends tr
776
826
 
777
827
  export declare type ShallowUnwrapRef<T> = T extends Ref<infer P> ? P : T;
778
828
 
829
+ declare type SharedComposableReturn<T extends AnyFn = AnyFn> = T;
830
+
779
831
  export declare interface SingletonPromiseReturn<T> {
780
832
  (): Promise<T>;
781
833
  /**
@@ -791,7 +843,7 @@ export declare interface Stoppable<StartFnArgs extends any[] = any[]> {
791
843
  /**
792
844
  * A ref indicate whether a stoppable instance is executing
793
845
  */
794
- isPending: Readonly<Ref<boolean>>;
846
+ readonly isPending: Readonly<Ref<boolean>>;
795
847
  /**
796
848
  * Stop the effect from executing
797
849
  */
@@ -869,11 +921,6 @@ export declare interface SyncRefsOptions extends ConfigurableFlushSync {
869
921
 
870
922
  /**
871
923
  * Create an EventFilter that throttle the events
872
- *
873
- * @param ms
874
- * @param [trailing]
875
- * @param [leading]
876
- * @param [rejectOnCancel]
877
924
  */
878
925
  export declare function throttleFilter(ms: MaybeRefOrGetter<number>, trailing?: boolean, leading?: boolean, rejectOnCancel?: boolean): EventFilter;
879
926
 
@@ -937,6 +984,7 @@ export declare function toRef<T extends object, K extends keyof T>(object: T, ke
937
984
  *
938
985
  * @see https://vueuse.org/toRefs
939
986
  * @param objectRef A ref or normal object or array.
987
+ * @param options Options
940
988
  */
941
989
  export declare function toRefs<T extends object>(objectRef: MaybeRef<T>, options?: ToRefsOptions): ToRefs<T>;
942
990
 
@@ -1041,9 +1089,9 @@ export declare interface UntilValueInstance<T, Not extends boolean = false> exte
1041
1089
 
1042
1090
  export declare type UrlParams = Record<string, string[] | string>;
1043
1091
 
1044
- export declare function useArrayDifference<T>(list: MaybeRefOrGetter<T[]>, values: MaybeRefOrGetter<T[]>, key?: keyof T, options?: UseArrayDifferenceOptions): ComputedRef<T[]>;
1092
+ export declare function useArrayDifference<T>(list: MaybeRefOrGetter<T[]>, values: MaybeRefOrGetter<T[]>, key?: keyof T, options?: UseArrayDifferenceOptions): UseArrayDifferenceReturn<T>;
1045
1093
 
1046
- export declare function useArrayDifference<T>(list: MaybeRefOrGetter<T[]>, values: MaybeRefOrGetter<T[]>, compareFn?: (value: T, othVal: T) => boolean, options?: UseArrayDifferenceOptions): ComputedRef<T[]>;
1094
+ export declare function useArrayDifference<T>(list: MaybeRefOrGetter<T[]>, values: MaybeRefOrGetter<T[]>, compareFn?: (value: T, othVal: T) => boolean, options?: UseArrayDifferenceOptions): UseArrayDifferenceReturn<T>;
1047
1095
 
1048
1096
  declare interface UseArrayDifferenceOptions {
1049
1097
  /**
@@ -1055,6 +1103,8 @@ declare interface UseArrayDifferenceOptions {
1055
1103
  symmetric?: boolean;
1056
1104
  }
1057
1105
 
1106
+ declare type UseArrayDifferenceReturn<T = any> = ComputedRef<T[]>;
1107
+
1058
1108
  /**
1059
1109
  * Reactive `Array.every`
1060
1110
  *
@@ -1063,8 +1113,12 @@ declare interface UseArrayDifferenceOptions {
1063
1113
  * @param fn - a function to test each element.
1064
1114
  *
1065
1115
  * @returns **true** if the `fn` function returns a **truthy** value for every element from the array. Otherwise, **false**.
1116
+ *
1117
+ * @__NO_SIDE_EFFECTS__
1066
1118
  */
1067
- export declare function useArrayEvery<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => unknown): ComputedRef<boolean>;
1119
+ export declare function useArrayEvery<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => unknown): UseArrayEveryReturn;
1120
+
1121
+ declare type UseArrayEveryReturn = ComputedRef<boolean>;
1068
1122
 
1069
1123
  /**
1070
1124
  * Reactive `Array.filter`
@@ -1074,10 +1128,14 @@ export declare function useArrayEvery<T>(list: MaybeRefOrGetter<MaybeRefOrGetter
1074
1128
  * @param fn - a function that is called for every element of the given `list`. Each time `fn` executes, the returned value is added to the new array.
1075
1129
  *
1076
1130
  * @returns a shallow copy of a portion of the given array, filtered down to just the elements from the given array that pass the test implemented by the provided function. If no elements pass the test, an empty array will be returned.
1131
+ *
1132
+ * @__NO_SIDE_EFFECTS__
1077
1133
  */
1078
- export declare function useArrayFilter<T, S extends T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: T[]) => element is S): ComputedRef<S[]>;
1134
+ export declare function useArrayFilter<T, S extends T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: T[]) => element is S): UseArrayFilterReturn<S>;
1135
+
1136
+ export declare function useArrayFilter<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: T[]) => unknown): UseArrayFilterReturn<T>;
1079
1137
 
1080
- export declare function useArrayFilter<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: T[]) => unknown): ComputedRef<T[]>;
1138
+ declare type UseArrayFilterReturn<T = any> = ComputedRef<T[]>;
1081
1139
 
1082
1140
  /**
1083
1141
  * Reactive `Array.find`
@@ -1087,8 +1145,10 @@ export declare function useArrayFilter<T>(list: MaybeRefOrGetter<MaybeRefOrGette
1087
1145
  * @param fn - a function to test each element.
1088
1146
  *
1089
1147
  * @returns the first element in the array that satisfies the provided testing function. Otherwise, undefined is returned.
1148
+ *
1149
+ * @__NO_SIDE_EFFECTS__
1090
1150
  */
1091
- export declare function useArrayFind<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => boolean): ComputedRef<T | undefined>;
1151
+ export declare function useArrayFind<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => boolean): UseArrayFindReturn<T>;
1092
1152
 
1093
1153
  /**
1094
1154
  * Reactive `Array.findIndex`
@@ -1098,8 +1158,12 @@ export declare function useArrayFind<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<
1098
1158
  * @param fn - a function to test each element.
1099
1159
  *
1100
1160
  * @returns the index of the first element in the array that passes the test. Otherwise, "-1".
1161
+ *
1162
+ * @__NO_SIDE_EFFECTS__
1101
1163
  */
1102
- export declare function useArrayFindIndex<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => unknown): ComputedRef<number>;
1164
+ export declare function useArrayFindIndex<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => unknown): UseArrayFindIndexReturn;
1165
+
1166
+ declare type UseArrayFindIndexReturn = ComputedRef<number>;
1103
1167
 
1104
1168
  /**
1105
1169
  * Reactive `Array.findLast`
@@ -1109,8 +1173,14 @@ export declare function useArrayFindIndex<T>(list: MaybeRefOrGetter<MaybeRefOrGe
1109
1173
  * @param fn - a function to test each element.
1110
1174
  *
1111
1175
  * @returns the last element in the array that satisfies the provided testing function. Otherwise, undefined is returned.
1176
+ *
1177
+ * @__NO_SIDE_EFFECTS__
1112
1178
  */
1113
- export declare function useArrayFindLast<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => boolean): ComputedRef<T | undefined>;
1179
+ export declare function useArrayFindLast<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => boolean): UseArrayFindLastReturn<T>;
1180
+
1181
+ declare type UseArrayFindLastReturn<T = any> = ComputedRef<T | undefined>;
1182
+
1183
+ declare type UseArrayFindReturn<T = any> = ComputedRef<T | undefined>;
1114
1184
 
1115
1185
  /**
1116
1186
  * Reactive `Array.includes`
@@ -1118,12 +1188,14 @@ export declare function useArrayFindLast<T>(list: MaybeRefOrGetter<MaybeRefOrGet
1118
1188
  * @see https://vueuse.org/useArrayIncludes
1119
1189
  *
1120
1190
  * @returns true if the `value` is found in the array. Otherwise, false.
1191
+ *
1192
+ * @__NO_SIDE_EFFECTS__
1121
1193
  */
1122
- export declare function useArrayIncludes<T, V = any>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, value: MaybeRefOrGetter<V>, comparator?: UseArrayIncludesComparatorFn<T, V>): ComputedRef<boolean>;
1194
+ export declare function useArrayIncludes<T, V = any>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, value: MaybeRefOrGetter<V>, comparator?: UseArrayIncludesComparatorFn<T, V>): UseArrayIncludesReturn;
1123
1195
 
1124
- export declare function useArrayIncludes<T, V = any>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, value: MaybeRefOrGetter<V>, comparator?: keyof T): ComputedRef<boolean>;
1196
+ export declare function useArrayIncludes<T, V = any>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, value: MaybeRefOrGetter<V>, comparator?: keyof T): UseArrayIncludesReturn;
1125
1197
 
1126
- export declare function useArrayIncludes<T, V = any>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, value: MaybeRefOrGetter<V>, options?: UseArrayIncludesOptions<T, V>): ComputedRef<boolean>;
1198
+ export declare function useArrayIncludes<T, V = any>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, value: MaybeRefOrGetter<V>, options?: UseArrayIncludesOptions<T, V>): UseArrayIncludesReturn;
1127
1199
 
1128
1200
  export declare type UseArrayIncludesComparatorFn<T, V> = ((element: T, value: V, index: number, array: MaybeRefOrGetter<T>[]) => boolean);
1129
1201
 
@@ -1132,6 +1204,8 @@ export declare interface UseArrayIncludesOptions<T, V> {
1132
1204
  comparator?: UseArrayIncludesComparatorFn<T, V> | keyof T;
1133
1205
  }
1134
1206
 
1207
+ declare type UseArrayIncludesReturn = ComputedRef<boolean>;
1208
+
1135
1209
  /**
1136
1210
  * Reactive `Array.join`
1137
1211
  *
@@ -1140,8 +1214,12 @@ export declare interface UseArrayIncludesOptions<T, V> {
1140
1214
  * @param separator - a string to separate each pair of adjacent elements of the array. If omitted, the array elements are separated with a comma (",").
1141
1215
  *
1142
1216
  * @returns a string with all array elements joined. If arr.length is 0, the empty string is returned.
1217
+ *
1218
+ * @__NO_SIDE_EFFECTS__
1143
1219
  */
1144
- export declare function useArrayJoin(list: MaybeRefOrGetter<MaybeRefOrGetter<any>[]>, separator?: MaybeRefOrGetter<string>): ComputedRef<string>;
1220
+ export declare function useArrayJoin(list: MaybeRefOrGetter<MaybeRefOrGetter<any>[]>, separator?: MaybeRefOrGetter<string>): UseArrayJoinReturn;
1221
+
1222
+ declare type UseArrayJoinReturn = ComputedRef<string>;
1145
1223
 
1146
1224
  /**
1147
1225
  * Reactive `Array.map`
@@ -1151,8 +1229,12 @@ export declare function useArrayJoin(list: MaybeRefOrGetter<MaybeRefOrGetter<any
1151
1229
  * @param fn - a function that is called for every element of the given `list`. Each time `fn` executes, the returned value is added to the new array.
1152
1230
  *
1153
1231
  * @returns a new array with each element being the result of the callback function.
1232
+ *
1233
+ * @__NO_SIDE_EFFECTS__
1154
1234
  */
1155
- export declare function useArrayMap<T, U = T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: T[]) => U): ComputedRef<U[]>;
1235
+ export declare function useArrayMap<T, U = T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: T[]) => U): UseArrayMapReturn<U>;
1236
+
1237
+ declare type UseArrayMapReturn<T = any> = ComputedRef<T[]>;
1156
1238
 
1157
1239
  /**
1158
1240
  * Reactive `Array.reduce`
@@ -1162,6 +1244,8 @@ export declare function useArrayMap<T, U = T>(list: MaybeRefOrGetter<MaybeRefOrG
1162
1244
  * @param reducer - a "reducer" function.
1163
1245
  *
1164
1246
  * @returns the value that results from running the "reducer" callback function to completion over the entire array.
1247
+ *
1248
+ * @__NO_SIDE_EFFECTS__
1165
1249
  */
1166
1250
  export declare function useArrayReduce<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, reducer: UseArrayReducer<T, T, T>): ComputedRef<T>;
1167
1251
 
@@ -1174,6 +1258,8 @@ export declare function useArrayReduce<T>(list: MaybeRefOrGetter<MaybeRefOrGette
1174
1258
  * @param initialValue - a value to be initialized the first time when the callback is called.
1175
1259
  *
1176
1260
  * @returns the value that results from running the "reducer" callback function to completion over the entire array.
1261
+ *
1262
+ * @__NO_SIDE_EFFECTS__
1177
1263
  */
1178
1264
  export declare function useArrayReduce<T, U>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, reducer: UseArrayReducer<U, T, U>, initialValue: MaybeRefOrGetter<U>): ComputedRef<U>;
1179
1265
 
@@ -1187,8 +1273,12 @@ export declare type UseArrayReducer<PV, CV, R> = (previousValue: PV, currentValu
1187
1273
  * @param fn - a function to test each element.
1188
1274
  *
1189
1275
  * @returns **true** if the `fn` function returns a **truthy** value for any element from the array. Otherwise, **false**.
1276
+ *
1277
+ * @__NO_SIDE_EFFECTS__
1190
1278
  */
1191
- export declare function useArraySome<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => unknown): ComputedRef<boolean>;
1279
+ export declare function useArraySome<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, fn: (element: T, index: number, array: MaybeRefOrGetter<T>[]) => unknown): UseArraySomeReturn;
1280
+
1281
+ declare type UseArraySomeReturn = ComputedRef<boolean>;
1192
1282
 
1193
1283
  /**
1194
1284
  * reactive unique array
@@ -1196,8 +1286,12 @@ export declare function useArraySome<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<
1196
1286
  * @param list - the array was called upon.
1197
1287
  * @param compareFn
1198
1288
  * @returns A computed ref that returns a unique array of items.
1289
+ *
1290
+ * @__NO_SIDE_EFFECTS__
1199
1291
  */
1200
- export declare function useArrayUnique<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, compareFn?: (a: T, b: T, array: T[]) => boolean): ComputedRef<T[]>;
1292
+ export declare function useArrayUnique<T>(list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>, compareFn?: (a: T, b: T, array: T[]) => boolean): UseArrayUniqueReturn<T>;
1293
+
1294
+ declare type UseArrayUniqueReturn<T = any> = ComputedRef<T[]>;
1201
1295
 
1202
1296
  /**
1203
1297
  * Asynchronous queue task controller.
@@ -1254,11 +1348,11 @@ export declare type UseAsyncQueueTask<T> = (...args: any[]) => T | Promise<T>;
1254
1348
  * @param initialState The initial state, used until the first evaluation finishes
1255
1349
  * @param options
1256
1350
  */
1257
- export declare function useAsyncState<Data, Params extends any[] = any[], Shallow extends boolean = true>(promise: Promise<Data> | ((...args: Params) => Promise<Data>), initialState: Data, options?: UseAsyncStateOptions<Shallow, Data>): UseAsyncStateReturn<Data, Params, Shallow>;
1351
+ export declare function useAsyncState<Data, Params extends any[] = any[], Shallow extends boolean = true>(promise: Promise<Data> | ((...args: Params) => Promise<Data>), initialState: MaybeRef<Data>, options?: UseAsyncStateOptions<Shallow, Data>): UseAsyncStateReturn<Data, Params, Shallow>;
1258
1352
 
1259
1353
  export declare interface UseAsyncStateOptions<Shallow extends boolean, D = any> {
1260
1354
  /**
1261
- * Delay for executing the promise. In milliseconds.
1355
+ * Delay for the first execution of the promise when "immediate" is true. In milliseconds.
1262
1356
  *
1263
1357
  * @default 0
1264
1358
  */
@@ -1314,6 +1408,7 @@ export declare interface UseAsyncStateReturnBase<Data, Params extends any[], Sha
1314
1408
  isLoading: Ref<boolean>;
1315
1409
  error: Ref<unknown>;
1316
1410
  execute: (delay?: number, ...args: Params) => Promise<Data>;
1411
+ executeImmediate: (...args: Params) => Promise<Data>;
1317
1412
  }
1318
1413
 
1319
1414
  export declare function useBase64(target: MaybeRefOrGetter<string | undefined>, options?: UseBase64Options): UseBase64Return;
@@ -1384,6 +1479,8 @@ export declare interface UseBroadcastChannelReturn<D, P> {
1384
1479
  * Reactive browser location.
1385
1480
  *
1386
1481
  * @see https://vueuse.org/useBrowserLocation
1482
+ *
1483
+ * @__NO_SIDE_EFFECTS__
1387
1484
  */
1388
1485
  declare function useBrowserLocation(options?: ConfigurableWindow): Ref<{
1389
1486
  readonly trigger: string;
@@ -1462,7 +1559,7 @@ export declare interface UseClonedReturn<T> {
1462
1559
  * @param options
1463
1560
  */
1464
1561
  export declare function useCounter(initialValue?: MaybeRef<number>, options?: UseCounterOptions): {
1465
- count: vue.Ref<number, number> | vue.ShallowRef<number, number> | vue.WritableComputedRef<number, number>;
1562
+ count: Readonly<Ref<number, number> | vue.ShallowRef<number, number> | vue.WritableComputedRef<number, number>>;
1466
1563
  inc: (delta?: number) => number;
1467
1564
  dec: (delta?: number) => number;
1468
1565
  get: () => number;
@@ -1516,8 +1613,10 @@ export declare interface UseCycleListReturn<T> {
1516
1613
  * @param date - The date to format, can either be a `Date` object, a timestamp, or a string
1517
1614
  * @param formatStr - The combination of tokens to format the date
1518
1615
  * @param options - UseDateFormatOptions
1616
+ *
1617
+ * @__NO_SIDE_EFFECTS__
1519
1618
  */
1520
- export declare function useDateFormat(date: MaybeRefOrGetter<DateLike>, formatStr?: MaybeRefOrGetter<string>, options?: UseDateFormatOptions): vue.ComputedRef<string>;
1619
+ export declare function useDateFormat(date: MaybeRefOrGetter<DateLike>, formatStr?: MaybeRefOrGetter<string>, options?: UseDateFormatOptions): UseDateFormatReturn;
1521
1620
 
1522
1621
  export declare interface UseDateFormatOptions {
1523
1622
  /**
@@ -1533,7 +1632,7 @@ export declare interface UseDateFormatOptions {
1533
1632
  customMeridiem?: (hours: number, minutes: number, isLowercase?: boolean, hasPeriod?: boolean) => string;
1534
1633
  }
1535
1634
 
1536
- export declare type UseDateFormatReturn = ReturnType<typeof useDateFormat>;
1635
+ export declare type UseDateFormatReturn = ComputedRef<string>;
1537
1636
 
1538
1637
  /**
1539
1638
  * Shorthand for [useRefHistory](https://vueuse.org/useRefHistory) with debounce filter.
@@ -1555,8 +1654,12 @@ export declare function useDebouncedRefHistory<Raw, Serialized = Raw>(source: Re
1555
1654
  * @param options Options
1556
1655
  *
1557
1656
  * @return A new, debounce, function.
1657
+ *
1658
+ * @__NO_SIDE_EFFECTS__
1558
1659
  */
1559
- export declare function useDebounceFn<T extends FunctionArgs>(fn: T, ms?: MaybeRefOrGetter<number>, options?: DebounceFilterOptions): PromisifyFn<T>;
1660
+ export declare function useDebounceFn<T extends FunctionArgs>(fn: T, ms?: MaybeRefOrGetter<number>, options?: DebounceFilterOptions): UseDebounceFnReturn<T>;
1661
+
1662
+ declare type UseDebounceFnReturn<T extends FunctionArgs> = PromisifyFn<T>;
1560
1663
 
1561
1664
  export declare function useEventBus<T = unknown, P = any>(key: EventBusIdentifier<T>): UseEventBusReturn<T, P>;
1562
1665
 
@@ -1685,7 +1788,7 @@ export declare interface UseFetchReturn<T> {
1685
1788
  /**
1686
1789
  * Abort the fetch request
1687
1790
  */
1688
- abort: Fn;
1791
+ abort: (reason?: any) => void;
1689
1792
  /**
1690
1793
  * Manually call the fetch
1691
1794
  * (default not throwing error)
@@ -1760,9 +1863,9 @@ declare interface UseIdleReturn {
1760
1863
  * @param interval
1761
1864
  * @param options
1762
1865
  */
1763
- export declare function useInterval(interval?: MaybeRefOrGetter<number>, options?: UseIntervalOptions<false>): ShallowRef<number>;
1866
+ export declare function useInterval(interval?: MaybeRefOrGetter<number>, options?: UseIntervalOptions<false>): Readonly<ShallowRef<number>>;
1764
1867
 
1765
- export declare function useInterval(interval: MaybeRefOrGetter<number>, options: UseIntervalOptions<true>): UseIntervalControls & Pausable;
1868
+ export declare function useInterval(interval: MaybeRefOrGetter<number>, options: UseIntervalOptions<true>): Readonly<UseIntervalControls & Pausable>;
1766
1869
 
1767
1870
  export declare interface UseIntervalControls {
1768
1871
  counter: ShallowRef<number>;
@@ -1772,11 +1875,12 @@ export declare interface UseIntervalControls {
1772
1875
  /**
1773
1876
  * Wrapper for `setInterval` with controls
1774
1877
  *
1878
+ * @see https://vueuse.org/useIntervalFn
1775
1879
  * @param cb
1776
1880
  * @param interval
1777
1881
  * @param options
1778
1882
  */
1779
- export declare function useIntervalFn(cb: Fn, interval?: MaybeRefOrGetter<number>, options?: UseIntervalFnOptions): Pausable;
1883
+ export declare function useIntervalFn(cb: Fn, interval?: MaybeRefOrGetter<number>, options?: UseIntervalFnOptions): UseIntervalFnReturn;
1780
1884
 
1781
1885
  export declare interface UseIntervalFnOptions {
1782
1886
  /**
@@ -1793,6 +1897,8 @@ export declare interface UseIntervalFnOptions {
1793
1897
  immediateCallback?: boolean;
1794
1898
  }
1795
1899
 
1900
+ declare type UseIntervalFnReturn = Pausable;
1901
+
1796
1902
  export declare interface UseIntervalOptions<Controls extends boolean> {
1797
1903
  /**
1798
1904
  * Expose more controls
@@ -1817,9 +1923,9 @@ export declare interface UseIntervalOptions<Controls extends boolean> {
1817
1923
  *
1818
1924
  * @see https://vueuse.org/useLastChanged
1819
1925
  */
1820
- export declare function useLastChanged(source: WatchSource, options?: UseLastChangedOptions<false>): ShallowRef<number | null>;
1926
+ export declare function useLastChanged(source: WatchSource, options?: UseLastChangedOptions<false>): Readonly<ShallowRef<number | null>>;
1821
1927
 
1822
- export declare function useLastChanged(source: WatchSource, options: UseLastChangedOptions<true> | UseLastChangedOptions<boolean, number>): ShallowRef<number>;
1928
+ export declare function useLastChanged(source: WatchSource, options: UseLastChangedOptions<true> | UseLastChangedOptions<boolean, number>): Readonly<ShallowRef<number>>;
1823
1929
 
1824
1930
  export declare interface UseLastChangedOptions<Immediate extends boolean, InitialValue extends number | null | undefined = undefined> extends WatchOptions<Immediate> {
1825
1931
  initialValue?: InitialValue;
@@ -1916,6 +2022,8 @@ export declare interface UseManualRefHistoryReturn<Raw, Serialized> {
1916
2022
  *
1917
2023
  * @see https://vueuse.org/useNow
1918
2024
  * @param options
2025
+ *
2026
+ * @__NO_SIDE_EFFECTS__
1919
2027
  */
1920
2028
  export declare function useNow(options?: UseNowOptions<false>): Ref<Date>;
1921
2029
 
@@ -1930,6 +2038,12 @@ export declare interface UseNowOptions<Controls extends boolean> {
1930
2038
  * @default false
1931
2039
  */
1932
2040
  controls?: Controls;
2041
+ /**
2042
+ * Start the clock immediately
2043
+ *
2044
+ * @default true
2045
+ */
2046
+ immediate?: boolean;
1933
2047
  /**
1934
2048
  * Update interval in milliseconds, or use requestAnimationFrame
1935
2049
  *
@@ -2048,6 +2162,13 @@ export declare interface UseRefHistoryOptions<Raw, Serialized = Raw> extends Con
2048
2162
  * Deserialize data from the history
2049
2163
  */
2050
2164
  parse?: (v: Serialized) => Raw;
2165
+ /**
2166
+ * Function to determine if the commit should proceed
2167
+ * @param oldValue Previous value
2168
+ * @param newValue New value
2169
+ * @returns boolean indicating if commit should proceed
2170
+ */
2171
+ shouldCommit?: (oldValue: Raw | undefined, newValue: Raw) => boolean;
2051
2172
  }
2052
2173
 
2053
2174
  export declare interface UseRefHistoryRecord<T> {
@@ -2088,6 +2209,8 @@ export declare interface UseRefHistoryReturn<Raw, Serialized> extends UseManualR
2088
2209
  * @see https://vueuse.org/useShare
2089
2210
  * @param shareOptions
2090
2211
  * @param options
2212
+ *
2213
+ * @__NO_SIDE_EFFECTS__
2091
2214
  */
2092
2215
  declare function useShare(shareOptions?: MaybeRefOrGetter<UseShareOptions>, options?: ConfigurableNavigator): {
2093
2216
  isSupported: vue.ComputedRef<boolean>;
@@ -2180,14 +2303,14 @@ export declare interface UseStepperReturn<StepName, Steps, Step> {
2180
2303
  }
2181
2304
 
2182
2305
  declare function useTextareaAutosize(options?: UseTextareaAutosizeOptions): {
2183
- textarea: vue.Ref<HTMLTextAreaElement | undefined, HTMLTextAreaElement | undefined>;
2306
+ textarea: vue.Ref<HTMLTextAreaElement | null | undefined, HTMLTextAreaElement | null | undefined>;
2184
2307
  input: vue.Ref<string, string>;
2185
2308
  triggerResize: () => void;
2186
2309
  };
2187
2310
 
2188
2311
  export declare interface UseTextareaAutosizeOptions extends ConfigurableWindow {
2189
2312
  /** Textarea element to autosize. */
2190
- element?: MaybeRef<HTMLTextAreaElement | undefined>;
2313
+ element?: MaybeRef<HTMLTextAreaElement | undefined | null>;
2191
2314
  /** Textarea content. */
2192
2315
  input?: MaybeRef<string>;
2193
2316
  /** Watch sources that should trigger a textarea resize. */
@@ -2234,6 +2357,8 @@ export declare type UseThrottledRefHistoryReturn<Raw, Serialized = Raw> = UseRef
2234
2357
  * @param [rejectOnCancel] if true, reject the last call if it's been cancel (default value: false)
2235
2358
  *
2236
2359
  * @return A new, throttled, function.
2360
+ *
2361
+ * @__NO_SIDE_EFFECTS__
2237
2362
  */
2238
2363
  export declare function useThrottleFn<T extends FunctionArgs>(fn: T, ms?: MaybeRefOrGetter<number>, trailing?: boolean, leading?: boolean, rejectOnCancel?: boolean): PromisifyFn<T>;
2239
2364
 
@@ -2241,6 +2366,8 @@ export declare function useThrottleFn<T extends FunctionArgs>(fn: T, ms?: MaybeR
2241
2366
  * Reactive time ago formatter.
2242
2367
  *
2243
2368
  * @see https://vueuse.org/useTimeAgo
2369
+ *
2370
+ * @__NO_SIDE_EFFECTS__
2244
2371
  */
2245
2372
  export declare function useTimeAgo<UnitNames extends string = UseTimeAgoUnitNamesDefault>(time: MaybeRefOrGetter<Date | number | string>, options?: UseTimeAgoOptions<false, UnitNames>): UseTimeAgoReturn<false>;
2246
2373
 
@@ -2304,7 +2431,7 @@ export declare function useTimeout(interval: MaybeRefOrGetter<number>, options:
2304
2431
  * @param interval
2305
2432
  * @param options
2306
2433
  */
2307
- export declare function useTimeoutFn<CallbackFn extends AnyFn>(cb: CallbackFn, interval: MaybeRefOrGetter<number>, options?: UseTimeoutFnOptions): Stoppable<Parameters<CallbackFn> | []>;
2434
+ export declare function useTimeoutFn<CallbackFn extends AnyFn>(cb: CallbackFn, interval: MaybeRefOrGetter<number>, options?: UseTimeoutFnOptions): UseTimeoutFnReturn<CallbackFn>;
2308
2435
 
2309
2436
  export declare interface UseTimeoutFnOptions {
2310
2437
  /**
@@ -2321,6 +2448,8 @@ export declare interface UseTimeoutFnOptions {
2321
2448
  immediateCallback?: boolean;
2322
2449
  }
2323
2450
 
2451
+ declare type UseTimeoutFnReturn<CallbackFn extends AnyFn> = Stoppable<Parameters<CallbackFn> | []>;
2452
+
2324
2453
  export declare interface UseTimeoutOptions<Controls extends boolean> extends UseTimeoutFnOptions {
2325
2454
  /**
2326
2455
  * Expose more controls
@@ -2392,6 +2521,8 @@ export declare interface UseToggleOptions<Truthy, Falsy> {
2392
2521
 
2393
2522
  /**
2394
2523
  * Reactively convert a string ref to number.
2524
+ *
2525
+ * @__NO_SIDE_EFFECTS__
2395
2526
  */
2396
2527
  export declare function useToNumber(value: MaybeRefOrGetter<number | string>, options?: UseToNumberOptions): ComputedRef<number>;
2397
2528
 
@@ -2421,6 +2552,8 @@ export declare interface UseToNumberOptions {
2421
2552
  * Reactively convert a ref to string.
2422
2553
  *
2423
2554
  * @see https://vueuse.org/useToString
2555
+ *
2556
+ * @__NO_SIDE_EFFECTS__
2424
2557
  */
2425
2558
  export declare function useToString(value: MaybeRefOrGetter<unknown>): ComputedRef<string>;
2426
2559
 
@@ -2459,6 +2592,13 @@ export declare interface UseUrlSearchParamsOptions<T> extends ConfigurableWindow
2459
2592
  * @default 'replace'
2460
2593
  */
2461
2594
  writeMode?: 'replace' | 'push';
2595
+ /**
2596
+ * Custom function to serialize URL parameters
2597
+ * When provided, this function will be used instead of the default URLSearchParams.toString()
2598
+ * @param params The URLSearchParams object to serialize
2599
+ * @returns The serialized query string (should not include the leading '?' or '#')
2600
+ */
2601
+ stringify?: (params: URLSearchParams) => string;
2462
2602
  }
2463
2603
 
2464
2604
  /**
@@ -2676,7 +2816,7 @@ export { watchIgnorable }
2676
2816
 
2677
2817
  export declare interface WatchIgnorableReturn {
2678
2818
  ignoreUpdates: IgnoredUpdater;
2679
- ignorePrevAsyncUpdates: () => void;
2819
+ ignorePrevAsyncUpdates: IgnoredPrevAsyncUpdates;
2680
2820
  stop: WatchStopHandle;
2681
2821
  }
2682
2822
 
@@ -2686,9 +2826,11 @@ export declare function watchImmediate<T>(source: WatchSource<T>, cb: WatchCallb
2686
2826
 
2687
2827
  export declare function watchImmediate<T extends object>(source: T, cb: WatchCallback<T, T | undefined>, options?: Omit<WatchOptions<true>, 'immediate'>): WatchStopHandle;
2688
2828
 
2689
- export declare function watchOnce<T extends Readonly<WatchSource<unknown>[]>, Immediate extends Readonly<boolean> = false>(source: [...T], cb: WatchCallback<MapSources<T>, MapOldSources<T, Immediate>>, options?: WatchOptions<Immediate>): WatchStopHandle;
2829
+ export declare function watchOnce<T extends Readonly<WatchSource<unknown>[]>>(source: [...T], cb: WatchCallback<MapSources<T>, MapOldSources<T, true>>, options?: Omit<WatchOptions<true>, 'once'>): WatchStopHandle;
2830
+
2831
+ export declare function watchOnce<T>(source: WatchSource<T>, cb: WatchCallback<T, T | undefined>, options?: Omit<WatchOptions<true>, 'once'>): WatchStopHandle;
2690
2832
 
2691
- export declare function watchOnce<T, Immediate extends Readonly<boolean> = false>(sources: WatchSource<T>, cb: WatchCallback<T, Immediate extends true ? T | undefined : T>, options?: WatchOptions<Immediate>): WatchStopHandle;
2833
+ export declare function watchOnce<T extends object>(source: T, cb: WatchCallback<T, T | undefined>, options?: Omit<WatchOptions<true>, 'once'>): WatchStopHandle;
2692
2834
 
2693
2835
  declare function watchPausable<T extends Readonly<WatchSource<unknown>[]>, Immediate extends Readonly<boolean> = false>(sources: [...T], cb: WatchCallback<MapSources<T>, MapOldSources<T, Immediate>>, options?: WatchPausableOptions<Immediate>): WatchPausableReturn;
2694
2836