import { IBaseRuntime, Runtime } from '../public/runtime';
/**
 * Ensures `initialize` was called. This function does NOT verify that a response from Host was received and initialization completed.
 *
 * `ensureInitializeCalled` should only be used for APIs which:
 * - work in all FrameContexts
 * - are part of a required Capability
 * - are suspected to be used directly after calling `initialize`, potentially without awaiting the `initialize` call itself
 *
 * For most APIs {@link ensureInitialized} is the right validation function to use instead.
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function ensureInitializeCalled(): void;
/**
 * Ensures `initialize` was called and response from Host was received and processed and that `runtime` is initialized.
 * If expected FrameContexts are provided, it also validates that the current FrameContext matches one of the expected ones.
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function ensureInitialized(runtime: IBaseRuntime, ...expectedFrameContexts: string[]): runtime is Runtime;
/**
 * @hidden
 * Checks whether the platform has knowledge of this API by doing a comparison
 * on API required version and platform supported version of the SDK
 *
 * @param requiredVersion - SDK version required by the API
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function isCurrentSDKVersionAtLeast(requiredVersion?: string): boolean;
/**
 * @hidden
 * Helper function to identify if host client is either android, ios, ipados, or visionOS
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function isHostClientMobile(): boolean;
/**
 * @hidden
 * Helper function which indicates if current API is supported on mobile or not.
 * @throws SdkError if host client is not android/ios or if the requiredVersion is not
 *          supported by platform or not. Null is returned in case of success.
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function throwExceptionIfMobileApiIsNotSupported(requiredVersion?: string): void;
/**
 * @hidden
 * Processes the valid origins specifuied by the user, de-duplicates and converts them into a regexp
 * which is used later for message source/origin validation
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function processAdditionalValidOrigins(validMessageOrigins: string[]): void;
