import { AbortablePromise, PromiseOptions } from 'better-promises';
/**
 * Signal indicating if the viewport is currently in fullscreen mode.
 */
export declare const isFullscreen: import('@telegram-apps/signals').Computed<boolean>;
/**
 * Signal containing fullscreen request or exit promise.
 */
export declare const _changeFullscreenPromise: import('@telegram-apps/signals').Signal<AbortablePromise<void> | undefined>, changeFullscreenPromise: import('@telegram-apps/signals').Computed<AbortablePromise<void> | undefined>;
/**
 * Signal containing an error received during the last fullscreen mode request.
 */
export declare const _changeFullscreenError: import('@telegram-apps/signals').Signal<Error | undefined>, changeFullscreenError: import('@telegram-apps/signals').Computed<Error | undefined>;
/**
 * Requests fullscreen mode for the mini application.
 * @since Mini Apps v8.0
 * @throws {FunctionNotAvailableError} The environment is unknown
 * @throws {FunctionNotAvailableError} The SDK is not initialized
 * @throws {FunctionNotAvailableError} The parent component is not mounted
 * @throws {FunctionNotAvailableError} The function is not supported
 * @throws {FullscreenFailedError}
 * @example Using `isAvailable()`
 * if (requestFullscreen.isAvailable() && !isChangingFullscreen()) {
 *   await requestFullscreen();
 * }
 * @example Using `ifAvailable()`
 * if (!isChangingFullscreen()) {
 *   await requestFullscreen.ifAvailable();
 * }
 */
export declare const requestFullscreen: import('../../wrappers/wrapSafe.js').SafeWrapped<(options?: PromiseOptions) => AbortablePromise<any>, true, never>;
/**
 * Exits mini application fullscreen mode.
 * @since Mini Apps v8.0
 * @throws {FunctionNotAvailableError} The environment is unknown
 * @throws {FunctionNotAvailableError} The SDK is not initialized
 * @throws {FunctionNotAvailableError} The parent component is not mounted
 * @throws {FunctionNotAvailableError} The function is not supported
 * @throws {FullscreenFailedError}
 * @example Using `isAvailable()`
 * if (exitFullscreen.isAvailable() && !isChangingFullscreen()) {
 *   await exitFullscreen();
 * }
 * @example Using `ifAvailable()`
 * if (!isChangingFullscreen()) {
 *   await exitFullscreen.ifAvailable();
 * }
 */
export declare const exitFullscreen: import('../../wrappers/wrapSafe.js').SafeWrapped<(options?: PromiseOptions) => AbortablePromise<any>, true, never>;
