import { AppInitOptions, PermissionedAppInitOptions } from "./init/types.js";
import FileSystem from "./fs/index.js";
import { AppState } from "./auth/state/app.js";
import { PermissionedAppState } from "./auth/state/permissionedApp.js";
/**
 * Check if we're authenticated and initiate the user's file system if
 * authenticated (can be disabled).
 *
 * See `loadFileSystem` if you want to load the user's file system yourself.
 * NOTE: Only works on the main/ui thread, as it uses `window.location`.
 *
 */
export declare function app(options: AppInitOptions): Promise<AppState>;
/**
 * Check if we're authenticated, process any lobby query-parameters present in the URL,
 * and initiate the user's file system if authenticated (can be disabled).
 *
 * See `loadFileSystem` if you want to load the user's file system yourself.
 * NOTE: Only works on the main/ui thread, as it uses `window.location`.
 *
 */
export declare function permissionedApp(options: PermissionedAppInitOptions): Promise<PermissionedAppState>;
/**
 * Alias for `permissionedApp`.
 */
export { permissionedApp as initialise };
export { permissionedApp as initialize };
export declare function isSupported(): Promise<boolean>;
export * from "./auth.js";
export * from "./filesystem.js";
export * from "./common/version.js";
export declare const fs: typeof FileSystem;
export { AppScenario, AppState } from "./auth/state/app.js";
export { AuthCancelled, AuthSucceeded, Continuation, NotAuthorised } from "./auth/state/permissionedApp.js";
export { Authed, NotAuthed } from "./auth/state/app.js";
export { PermissionedAppScenario as Scenario, PermissionedAppState as State } from "./auth/state/permissionedApp.js";
export { AppInitOptions, InitialisationError, PermissionedAppInitOptions } from "./init/types.js";
export * as account from "./auth/index.js";
export * as apps from "./apps/index.js";
export * as dataRoot from "./data-root.js";
export * as did from "./did/index.js";
export * as errors from "./errors.js";
export * as lobby from "./lobby/index.js";
export * as path from "./path.js";
export * as setup from "./setup.js";
export * as ucan from "./ucan/index.js";
export * as dns from "./dns/index.js";
export * as ipfs from "./ipfs/index.js";
export * as keystore from "./keystore.js";
export * as machinery from "./common/index.js";
export * as crypto from "./crypto/index.js";
