///
import { MaybeRef } from '@vueuse/core';
import { File } from '../../core';
import { Monaco, PromiseFnReturnType } from './types-helper';
export declare const getProjectFileBaseUrl: (projectId: string) => string;
export declare const getFileUri: (mona: Monaco, projectId: string, filename: string) => monaco.Uri;
export declare const getFileLanguage: (file: File) => "css" | "plaintext" | "html" | "typescript" | "javascript";
export declare const genRandomStr: () => string;
export declare const hash: (str: string) => string;
export declare const safeId: (id?: string | undefined) => string;
export declare const generateProjectId: (id?: string | undefined) => string;
export declare const mustBeRef: (value: MaybeRef) => import("vue").ComputedRef;
export interface SingletonPromiseReturn {
(...args: Args): Promise;
/**
* Reset current staled promise.
* Await it to have proper shutdown.
*/
reset: () => Promise;
}
export declare function createSingletonPromise Promise>(fn: Fn): SingletonPromiseReturn, PromiseFnReturnType>;