import { WeavyClient } from './weavy';
import { Constructor } from '../types/generic.types';
import { AppType, AppWithSourceMetadataType } from '../types/app.types';
export type { AppType, AppWithSourceMetadataType };
export interface WeavyApiProps {
    api: {
        apps: {
            getApp: (uid: string) => Promise<AppType>;
        };
    };
}
export declare const WeavyApiMixin: <TBase extends Constructor<WeavyClient>>(Base: TBase) => {
    new (...args: any[]): {
        api: {
            apps: {
                getApp<TApp extends AppType>(uid: string): Promise<TApp>;
            };
        };
        readonly weavySid: string;
        readonly weavyId: string;
        readonly host: HTMLElement;
        cloudFilePickerUrl: string | URL;
        disableEnvironmentImports: boolean;
        gcTime: number;
        scrollBehavior: "smooth" | "instant" | "auto";
        staleTime: number;
        tokenFactoryRetryDelay: number;
        tokenFactoryTimeout: number;
        "__#16@#resolveUrl"?: (url: URL) => void;
        "__#16@#whenUrl": Promise<unknown>;
        whenUrl(): Promise<void>;
        "__#16@#url"?: URL;
        get url(): URL | undefined;
        set url(url: string | URL | null | undefined);
        readonly cachePrefix: string;
        reset(): Promise<void>;
        "__#16@#isDestroyed": boolean;
        readonly isDestroyed: boolean;
        destroy(): void;
    };
} & TBase;
//# sourceMappingURL=api.d.ts.map