import type { WatchSource, WatchCallback } from "vue"; import type { Writable } from "#utilities"; import type { UnwrapSources } from "#reactivity"; export type WatchUntilOptions = { /** * The return value required to stop the watcher. * Defaults to `true`. * @default true */ fulfill?: unknown; signal?: AbortSignal; deep?: boolean | number; flush?: 'pre' | 'post' | 'sync'; }; export type WatchUntilCallback = T extends WatchSource ? (...args: Parameters>) => (O extends { fulfill: infer F; } ? F : boolean) | void : T extends readonly WatchSource[] ? (...args: Parameters, false>, UnwrapSources, true>>>) => (O extends { fulfill: infer F; } ? F : boolean) | void : never; export type WatchUntilPromise = T extends WatchSource ? Promise : T extends readonly WatchSource[] ? Promise> : never; //# sourceMappingURL=watchUntil.types.d.ts.map