import { ImageKitOptions, UploadOptions, UploadResponse, UrlOptions } from "./interfaces";
import IKResponse from "./interfaces/IKResponse";
declare class ImageKit {
    options: ImageKitOptions;
    constructor(opts: ImageKitOptions);
    /**
     * A utility function to generate asset URL. It applies the specified transformations and other parameters to the URL.
     */
    url(urlOptions: UrlOptions): string;
    /**
     * For uploading files directly from the browser to ImageKit.io.
     *
     * {@link https://imagekit.io/docs/api-reference/upload-file/upload-file#how-to-implement-client-side-file-upload}
     */
    upload(uploadOptions: UploadOptions, options?: Partial<ImageKitOptions>): Promise<IKResponse<UploadResponse>>;
    upload(uploadOptions: UploadOptions, callback: (err: Error | null, response: IKResponse<UploadResponse> | null) => void, options?: Partial<ImageKitOptions>): void;
}
export default ImageKit;
