export type FetchParams = [input: string | URL, init?: RequestInit]; export type JSONObject = { [key: string]: unknown; }; export type BodyData = FormData | URLSearchParams | JSONObject; type InterceptHandler = (request: A, onComplete: Promise) => Promise; export declare abstract class Interceptor, Req = Parameters[0]> { private callbacks; addHandler(...cb: H[]): void; protected chainHandlers>(...request: R): Promise; } export type Callback = (request: FetchParams, onComplete: Promise) => Promise; export type InterceptPredicate = (input: string | URL, init?: RequestInit) => boolean; export declare class RequestInterceptor extends Interceptor { private predicate; constructor(predicate: InterceptPredicate); } export declare function parseFetchRequestBody(init: RequestInit): BodyData; export declare function makeFetchRequestBody(init: RequestInit, newBody: BodyData): string | FormData | URLSearchParams; export declare function shopifyUrlStartsWith(url: URL | string, prefix: string): boolean; export {};