/**
 * 🎯 Decorator `@latest` ensures that an async method runs *immediately* on each invocation,
 * but automatically cancels any prior in-flight invocation (via `AbortSignal`) if it's still pending.
 *
 * Think of it as `@debounced(0)` - it collapses overlapping calls - but it
 * executes synchronously (no deferral).
 *
 * ⚠️ Ignores all arguments when deciding what to cancel: every new call, regardless of its parameters,
 * will abort whatever was running before.
 *
 * Usage:
 * ```typescript
 * class Example {
 *   @latest async fetchData(id: string): Promise<Data> {
 *     const { signal } = latest;
 *
 *     return fetch(`/api/data/${id}`, { signal }).then((r) => r.json());
 *   }
 * }
 *
 * const e = new Example();
 * e.fetchData('1'); // fires immediately
 * e.fetchData('2'); // aborts the '1' request and fires '2' immediately
 * ```
 */
export declare function latest<A extends Array<unknown>, R extends Promise<unknown>>(value: unknown, context: ClassMethodDecoratorContext<object, (...args: A) => R>): (...args: A) => R;
export declare function latest<A extends Array<unknown>, R extends Promise<unknown>>(value: unknown, context: ClassFieldDecoratorContext<object, (...args: A) => R>): (originalFn: (...args: A) => R) => (...args: A) => R;
export declare namespace latest {
    var signal: AbortSignal | undefined;
}
