export type AbortHandle = {
    /**
     * The AbortSignal associated with the AbortController.
     * This signal can be used to listen for abort events.
     */
    readonly signal: AbortSignal;
    /**
     * Aborts the current AbortController and creates a new one.
     * Any operations or event listeners associated with the previous signal
     * will be aborted. Subsequent accesses to `signal` will return the
     * signal from the new controller.
     *
     * @param reason - An optional reason for the abort.
     */
    abort(reason?: unknown): void;
    /**
     * Resets the controller without triggering an abort.
     * This is useful if you want to explicitly get a fresh signal without
     * aborting any ongoing operations from the previous signal.
     */
    reset(): void;
};
/**
 * Creates and returns an `AbortHandle` object that wraps an AbortController,
 * providing a resettable AbortSignal. This allows you to use the signal for event
 * listeners, fetch requests, or other cancellable operations, and then
 * reset the underlying AbortController to get a fresh signal without
 * needing to create a new wrapper object.
 */
export declare function createAbortHandle(): AbortHandle;
//# sourceMappingURL=AbortHandle.d.ts.map