/**
 * Checks if MSAL-NAA channel recommended by the host
 * @returns true if host is recommending NAA channel and false otherwise
 *
 * @throws Error if {@linkcode app.initialize} has not successfully completed
 *
 */
export declare function isNAAChannelRecommended(): boolean;
/**
 * Gets the origin of the parent window if available.
 * This will be the top-level origin in the case of a parent app.
 * It is used to pass to the embedded child app to initialize the Nested App Auth bridge.

 * @returns The origin string if available, otherwise null
 *
 * @throws Error if {@linkcode app.initialize} has not successfully completed
 *
 * @beta
 */
export declare function getParentOrigin(): string | null;
/**
 * Checks if the parent has the capability to manage its list of trusted child origins
 * for Nested App Auth (NAA).
 *
 * @returns true if parent can manage NAA TrustedOrigins, false otherwise
 *
 * @throws Error if {@linkcode app.initialize} has not successfully completed
 *
 * @beta
 */
export declare function canParentManageNAATrustedOrigins(): boolean;
/**
 * Checks if NAA deeply nested scenario supported by the host
 * @returns true if host supports
 *
 * @throws Error if {@linkcode app.initialize} has not successfully completed
 *
 * @beta
 */
export declare function isDeeplyNestedAuthSupported(): boolean;
/**
 * Registers the origins of child apps as trusted for Nested App Auth (NAA).
 *
 * This allows a top-level parent app to specify which child app origins are considered trusted
 *
 * @param appOrigins - An array of child app origins to trust (must be a non-empty array).
 * @returns A Promise resolving with the result of the action.
 * @throws Error if called from a non-top-level parent or if parameters are invalid.
 *
 * @beta
 */
export declare function addNAATrustedOrigins(appOrigins: string[]): Promise<string>;
/**
 * Removes previously trusted child app origins from Nested App Auth (NAA).
 *
 * The specified origins will no longer be considered trusted.
 *
 * @param appOrigins - An array of child app origins to remove from the trusted list (must be a non-empty array).
 * @returns A Promise resolving with the result of the action.
 * @throws Error if called from a non-top-level parent or if parameters are invalid.
 *
 * @beta
 */
export declare function deleteNAATrustedOrigins(appOrigins: string[]): Promise<string>;
