export type Awaitable<T> = T | PromiseLike<T>;
export type Simplify<T> = {
    [K in keyof T]: T[K];
} & NonNullable<unknown>;
export declare const ifString: <V>(v: V) => (V & string) | undefined;
export declare function contentMime(headers: Headers): string | undefined;
/**
 * Returns an {@link AbortSignal} that aborts after `ms` milliseconds.
 *
 * Uses the native {@link AbortSignal.timeout} when available, and otherwise
 * falls back to an {@link AbortController} + `setTimeout`. The static
 * `AbortSignal.timeout` method is not implemented in every runtime this package
 * targets (notably React Native / Expo), so relying on it directly throws a
 * `TypeError: AbortSignal.timeout is not a function` at runtime.
 *
 * @see {@link https://github.com/facebook/react-native/issues/42042}
 */
export declare function timeoutSignal(ms: number): AbortSignal;
export declare function combineSignals(signals: readonly (AbortSignal | undefined)[]): AbortController & Disposable;
//# sourceMappingURL=util.d.ts.map