/// <reference types="node" />
import nodeFetch from 'node-fetch';
import { TestimAuthApi } from './testimAuthApi';
import type { AbortSignal } from 'abort-controller';
declare type StorageRequest = {
    asset: Uint8Array | NodeJS.ReadableStream;
    projectId: string;
    pathInsideBucket: string;
    contentType?: string;
    contentLength?: number;
    signal?: AbortSignal;
};
export declare class TestimAssetsApi {
    private baseUrl;
    private testimAuthApi;
    private bucket;
    private fetch;
    constructor(baseUrl?: string, testimAuthApi?: TestimAuthApi, bucket?: string, fetch?: typeof nodeFetch);
    getAsset({ projectId, pathInsideBucket, }: {
        projectId: string;
        pathInsideBucket: string;
    }): Promise<ReturnType<typeof nodeFetch>>;
    uploadAsset({ asset, projectId, pathInsideBucket, contentType, signal }: StorageRequest): Promise<void>;
}
export {};
