export declare type Response<T> = {
    statusCode: number;
    response: T;
};
export declare type Request<T> = {
    path: string;
    abortSignal?: AbortSignal;
    method: 'get' | 'post' | 'delete' | 'put';
    body?: T;
    mode?: 'cors';
    headers?: {
        [key: string]: string | undefined;
    };
    /** Should a request to the Vizzly API endpoint to fetch the access tokens be made first? */
    preFetchProjectAccessTokens?: {
        projectId: string;
        resourceFilters: string[];
    };
};
export declare type NoBody = undefined;
export declare type HttpClient = <ResponseBody>(request: Request<any>) => Promise<{
    status: number;
    body: ResponseBody;
    headers: Headers | null;
}>;
