import { WyContextProvider as ContextProvider } from '../utils/context-provider';
import { weavyContextDefinition } from '../contexts/weavy-context';
import { WeavyOptions, Destructable, WeavyContextOptionsType } from '../types/weavy.types';
import { WeavyLocalizationProps } from './localization';
import { WeavyNetworkProps } from './network';
import { WeavyAuthenticationProps } from './authentication';
import { WeavyConnectionProps } from './connection';
import { WeavyQueryProps } from './query';
import { WeavyVersionProps } from './version';
import { WeavyModalsProps } from './modals';
import { WeavyFetchProps } from './fetch';
import { WeavyStylesProps } from './styles';

export type WeavyContextMixins = WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps;
/**
 * Context for Weavy that handles communication with the server, data handling and common options.
 * Requires a `url` to the Weavy environment and an async `tokenFactory` that provides user access tokens.
 */
export declare class WeavyContextBase implements WeavyOptions, Destructable {
    #private;
    /**
     * The semver version of the package.
     */
    static readonly version: string;
    /**
     * The Weavy source name; package name.
     */
    static readonly sourceName: string;
    static defaults: WeavyOptions;
    readonly weavySid: string;
    readonly weavyId: string;
    /**
     * The host where the Weavy context is provided.
     */
    readonly host: HTMLElement;
    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;
    whenUrl(): Promise<void>;
    /**
     * The URL to the weavy environment.
     */
    get url(): string | URL | undefined;
    set url(url: string | URL | undefined);
    get zoomAuthenticationUrl(): string | URL | undefined;
    set zoomAuthenticationUrl(url: string | URL | undefined);
    constructor(options?: WeavyContextOptionsType);
    get isDestroyed(): boolean;
    destroy(): void;
}
declare const WeavyContext_base: {
    new (...args: any[]): {
        _locales: Map<string, import('@lit/localize').LocaleModule | Promise<import('@lit/localize').LocaleModule> | (() => Promise<import('@lit/localize').LocaleModule>)>;
        locales: [string, import('@lit/localize').LocaleModule | Promise<import('@lit/localize').LocaleModule> | (() => Promise<import('@lit/localize').LocaleModule>)][];
        _locale: string;
        localization?: ReturnType<typeof import('@lit/localize').configureLocalization>;
        locale: string;
        loadLocale(newLocale: string): Promise<import('@lit/localize').LocaleModule>;
        configureLocalization(): void;
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
        destroy(): void;
    };
    readonly sourceLocale: "" | "en";
} & {
    new (...args: any[]): {
        _resolveConnectionRequested?: ((value: unknown) => void) | undefined;
        _whenConnectionRequested: Promise<unknown>;
        whenConnectionRequested(): Promise<void>;
        _connection?: import('../../@microsoft/signalr/dist/browser/signalr.min.js').HubConnection;
        _connectionEventListeners: {
            name: string;
            callback: Function;
        }[];
        signalRAccessTokenRefresh: boolean;
        _whenConnectionStartedResolve?: ((value: unknown) => void) | undefined;
        _whenConnectionStartedReject?: ((reason: unknown) => void) | undefined;
        _whenConnectionStarted: Promise<unknown>;
        readonly rtmConnection: import('../../@microsoft/signalr/dist/browser/signalr.min.js').HubConnection | undefined;
        whenConnectionStarted(): Promise<void>;
        createConnection(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps): Promise<void>;
        disconnect(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps): Promise<void>;
        connect(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps): Promise<void>;
        subscribe<T extends import('../types/realtime.types').RealtimeEventType | import('../types/realtime.types').RealtimeDataType>(group: string | null, event: string, callback: (realTimeEvent: T) => void): Promise<void>;
        unsubscribe<T extends import('../types/realtime.types').RealtimeEventType | import('../types/realtime.types').RealtimeDataType>(group: string | null, event: string, callback: (realTimeEvent: T) => void): Promise<void>;
        destroy(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps): void;
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
    };
} & {
    new (...args: any[]): {
        _networkEvents: Set<(status: import('../types/server.types').NetworkStatus) => void>;
        _connectionState: import('../types/server.types').ConnectionState;
        _serverState: import('../types/server.types').ServerState;
        _networkState: import('../types/server.types').NetworkState;
        _networkStateIsPending: boolean;
        networkState: import('../types/server.types').NetworkState;
        serverState: import('../types/server.types').ServerState;
        connectionState: import('../types/server.types').ConnectionState;
        networkStateIsPending: boolean;
        readonly network: import('../types/server.types').NetworkStatus;
        triggerNetworkChange(): void;
        addNetworkListener(callback: (state: import('../types/server.types').NetworkStatus) => void): void;
        removeNetworkListener(callback: (state: import('../types/server.types').NetworkStatus) => void): void;
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
        destroy(): void;
    };
} & {
    new (...args: any[]): {
        _resolveUrlAndTokenFactory?: ((value: unknown) => void) | undefined;
        _whenUrlAndTokenFactory: Promise<unknown>;
        whenUrlAndTokenFactory(): Promise<void>;
        _resolveTokenIsValid?: ((value: unknown) => void) | undefined;
        _whenTokenIsValid: Promise<unknown>;
        whenTokenIsValid(): Promise<void>;
        _tokenFactory?: import('../types/weavy.types').WeavyTokenFactory;
        tokenFactory: import('../types/weavy.types').WeavyTokenFactory | undefined;
        _tokenUrl?: URL;
        tokenUrl: string | URL | undefined;
        _tokenPromise: Promise<string> | null;
        _token: string;
        _validateToken(token: unknown): boolean;
        _validTokenFromFactory: import('../types/weavy.types').WeavyTokenFactory;
        getToken(refresh?: boolean): Promise<string>;
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
        destroy(): void;
    };
} & {
    new (...args: any[]): {
        _hostIsConnectedObserver: ResizeObserver;
        _queryClient: import('@tanstack/query-core').QueryClient;
        _unsubscribeQueryClient?: (() => void) | undefined;
        _sessionStoragePersister?: import('@tanstack/query-persist-client-core').Persister;
        readonly queryClient: import('@tanstack/query-core').QueryClient;
        createQueryClient(): Promise<void>;
        disconnectQueryClient(): Promise<void>;
        destroy(): void;
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
    };
} & {
    new (...args: any[]): {
        readonly version: string;
        checkVersion(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps, version?: string): Promise<void>;
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
        destroy(): void;
    };
} & {
    new (...args: any[]): {
        modalParent: string | undefined;
        _modalPortal?: import('..').WyPortal;
        _modalContextProvider?: ContextProvider<typeof weavyContextDefinition>;
        readonly modalRoot: HTMLElement | DocumentFragment | undefined;
        destroy(): void;
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
    };
} & {
    new (...args: any[]): {
        fetchOptions(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps, authorized?: boolean): Promise<RequestInit>;
        get(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps, url: string): Promise<Response>;
        post(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps, url: string, method: import('../types/http.types').HttpMethodType, body?: BodyInit, contentType?: import('../types/http.types').HeaderContentType, retry?: boolean): Promise<Response>;
        upload(this: any & WeavyContextBase & WeavyNetworkProps & WeavyAuthenticationProps & WeavyLocalizationProps & WeavyConnectionProps & WeavyQueryProps & WeavyVersionProps & WeavyModalsProps & WeavyFetchProps & WeavyStylesProps, url: string, method: import('../types/http.types').HttpUploadMethodType, body: string | FormData, contentType?: import('../types/http.types').HeaderContentType, onProgress?: ((progress: number) => void) | undefined, retry?: boolean): Promise<Response>;
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
        destroy(): void;
    };
} & {
    new (...args: any[]): {
        readonly weavySid: string;
        readonly weavyId: string;
        /**
         * The host where the Weavy context is provided.
         */
        readonly host: HTMLElement;
        "__#12@#hostContextProvider"?: ContextProvider<typeof weavyContextDefinition>;
        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;
        /**
         * The URL to the weavy environment.
         */
        url: string | URL | undefined;
        "__#12@#zoomAuthenticationUrl"?: string | URL;
        zoomAuthenticationUrl: string | URL | undefined;
        "__#12@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
        destroy(): void;
    };
} & typeof WeavyContextBase;
export declare class WeavyContext extends WeavyContext_base implements WeavyContextMixins {
}
export declare class Weavy extends WeavyContext {
}
export type WeavyContextType = WeavyContext;
export {};
//# sourceMappingURL=weavy.d.ts.map