import { WeavyClient } from './weavy';
import { Constructor } from '../types/generic.types';
import { HeaderContentType, HttpMethodType, HttpUploadMethodType } from '../types/http.types';
export interface WeavyFetchProps {
    fetchOptions: (authorized?: boolean) => Promise<RequestInit>;
    get: (url: string | URL) => Promise<Response>;
    post: (url: string | URL, method: HttpMethodType, body?: BodyInit, contentType?: HeaderContentType, retry?: boolean) => Promise<Response>;
    upload: (url: string | URL, method: HttpUploadMethodType, body: string | FormData, contentType?: HeaderContentType, onProgress?: (progress: number) => void, retry?: boolean) => Promise<Response>;
}
export declare const WeavyFetchMixin: <TBase extends Constructor<WeavyClient>>(Base: TBase) => {
    new (...args: any[]): {
        fetchOptions(this: any & WeavyClient & import('./network').WeavyNetworkProps & import('./authentication').WeavyAuthenticationProps & import('./localization').WeavyLocalizationProps & import('./connection').WeavyConnectionProps & import('./query').WeavyQueryProps & import('./version').WeavyVersionProps & WeavyFetchProps & import('./styles').WeavyStylesProps & import('./realtime').WeavyRealtimeProps, authorized?: boolean): Promise<RequestInit>;
        get(this: any & WeavyClient & import('./network').WeavyNetworkProps & import('./authentication').WeavyAuthenticationProps & import('./localization').WeavyLocalizationProps & import('./connection').WeavyConnectionProps & import('./query').WeavyQueryProps & import('./version').WeavyVersionProps & WeavyFetchProps & import('./styles').WeavyStylesProps & import('./realtime').WeavyRealtimeProps, url: string | URL): Promise<Response>;
        post(this: any & WeavyClient & import('./network').WeavyNetworkProps & import('./authentication').WeavyAuthenticationProps & import('./localization').WeavyLocalizationProps & import('./connection').WeavyConnectionProps & import('./query').WeavyQueryProps & import('./version').WeavyVersionProps & WeavyFetchProps & import('./styles').WeavyStylesProps & import('./realtime').WeavyRealtimeProps, url: string | URL, method: HttpMethodType, body?: BodyInit, contentType?: HeaderContentType, retry?: boolean): Promise<Response>;
        upload(this: any & WeavyClient & import('./network').WeavyNetworkProps & import('./authentication').WeavyAuthenticationProps & import('./localization').WeavyLocalizationProps & import('./connection').WeavyConnectionProps & import('./query').WeavyQueryProps & import('./version').WeavyVersionProps & WeavyFetchProps & import('./styles').WeavyStylesProps & import('./realtime').WeavyRealtimeProps, url: string | URL, method: HttpUploadMethodType, body: string | FormData, contentType?: HeaderContentType, onProgress?: (progress: number) => void, retry?: boolean): Promise<Response>;
        readonly weavySid: string;
        readonly weavyId: string;
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: import('../utils/context-provider').WyContextProvider<typeof import('..').WeavyContext>;
        cloudFilePickerUrl: string | URL | undefined;
        confluenceAuthenticationUrl: string | URL | undefined;
        confluenceProductName: string | undefined;
        disableEnvironmentImports: boolean | undefined;
        gcTime: number | undefined;
        reactions: string[] | undefined;
        scrollBehavior: "smooth" | "instant" | "auto" | undefined;
        staleTime: number | undefined;
        tokenFactoryRetryDelay: number | undefined;
        tokenFactoryTimeout: number | undefined;
        "__#12@#resolveUrl"?: (url: URL) => void;
        "__#12@#whenUrl": Promise<unknown>;
        whenUrl(): Promise<void>;
        "__#12@#url"?: URL;
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
        destroy(): void;
    };
} & TBase;
//# sourceMappingURL=fetch.d.ts.map