import { WeavyClient } from './weavy';
import { Constructor } from '../types/generic.types';
export interface WeavyVersionProps {
    readonly version: string;
    checkVersion: () => Promise<WeavyVersionType>;
}
export type WeavyVersionType = {
    /** The level of possible semver mismatch */
    mismatch?: "major" | "minor" | "patch";
    /** Information about the UI kit version */
    client: {
        /** Package name */
        name: string;
        /** Semver version */
        version: string;
    };
    /** Information about the Weavy environment version */
    environment: {
        /** The hostname of the Weavy environment */
        name: string;
        /** Semver version */
        version: string | undefined;
    };
};
export declare const WeavyVersionMixin: <TBase extends Constructor<WeavyClient>>(Base: TBase) => {
    new (...args: any[]): {
        /**
         * The semver version of the package.
         */
        readonly version: string;
        "__#private@#whenCheckVersion"?: Promise<WeavyVersionType>;
        /**
         * Checks the version of the Weavy Context against the Weavy Environment version.
         *
         */
        checkVersion(this: /*elided*/ any & WeavyClient & import('./weavy').StrictWeavyOptions & import('./settings').WeavySettingsProps & import('./network').WeavyNetworkProps & import('./authentication').WeavyAuthenticationProps & import('./localization').WeavyLocalizationProps & import('./connection').WeavyConnectionProps & import('./query').WeavyQueryProps & WeavyVersionProps & import('./fetch').WeavyFetchProps & import('./styles').WeavyStylesProps & import('./context').WeavyContextProviderProps): Promise<WeavyVersionType>;
        readonly weavySid: string;
        readonly weavyId: string;
        readonly host: HTMLElement;
        cloudFilePickerUrl: string | URL;
        configurationTimeout: number;
        disableEnvironmentImports: boolean;
        gcTime: number;
        scrollBehavior: "auto" | "smooth" | "instant";
        staleTime: number;
        tokenFactoryRetryDelay: number;
        tokenFactoryTimeout: number;
        "__#private@#resolveUrl"?: (url: URL) => void;
        "__#private@#whenUrl": Promise<unknown>;
        whenUrl(): Promise<void>;
        "__#private@#url"?: URL;
        get url(): URL | undefined;
        set url(url: string | URL | null | undefined);
        get cachePrefix(): string;
        reset(): Promise<void>;
        "__#private@#isDestroyed": boolean;
        get isDestroyed(): boolean;
        destroy(): void;
    };
} & TBase;
//# sourceMappingURL=version.d.ts.map