import { AppCheck, AppCheckOptions, AppCheckTokenResult, PartialObserver } from 'firebase/app-check'; import { DefaultReactFirebaseServerHooksOptions } from './ServerContext'; import { DefaultOptionsOnlyAppCheck } from './types'; /** * @description options for {@link useInitializeAppCheck} hooks * @author Achmad Kurnianto * @date 01/08/2024 * @export * @interface DefaultUseFirebaseAppCheckOptions * @extends {DefaultReactFirebaseServerHooksOptions} */ export interface DefaultUseInitializeAppCheckOptions extends DefaultReactFirebaseServerHooksOptions { /** * @description second parameter of {@link initializeAppCheck} * @author Achmad Kurnianto * @date 01/08/2024 * @type {AppCheckOptions} * @memberof DefaultUseInitializeAppCheckOptions */ options: AppCheckOptions; } /** * @description create your own firebase app check instance with {@link initializeAppCheck} behind. * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {Options} options * @returns {*} {AppCheck} */ export declare function useInitializeAppCheck(options: Options): AppCheck; /** * @description type data for {@link useOnTokenChanged} options. {@link options} and {@link appCheck} attribute is XOR relationship. * @author Achmad Kurnianto * @date 30/07/2024 * @export * @interface DefaultUseOnTokenChangedOptions * @extends {DefaultUseInitializeAppCheckOptions} * @extends {DefaultOptionsOnlyAppCheck} */ export interface DefaultUseOnTokenChangedOptions extends DefaultUseInitializeAppCheckOptions, DefaultOptionsOnlyAppCheck { } /** * @description use firebase {@link onTokenChanged} method easily in react app * @author Achmad Kurnianto * @date 01/08/2024 * @export * @template Options * @param {PartialObserver} callback callback second parameter of {@link onTokenChanged} method. * @param {Options} opts provided options for {@link useInitializeAppCheck} hooks. */ export declare function useOnTokenChanged(callback: PartialObserver, opts: Options): void; /** * @description type data of options for {@link useFirebaseAppCheckMethods}. {@link options} and {@link appCheck} attribute * has XOR relationship. * @author Achmad Kurnianto * @date 30/07/2024 * @export * @interface DefaultUseFirebaseAppCheckMethodsOptions * @extends {DefaultUseInitializeAppCheckOptions} * @extends {DefaultOptionsOnlyAppCheck} */ export interface DefaultUseFirebaseAppCheckMethodsOptions extends DefaultUseInitializeAppCheckOptions, DefaultOptionsOnlyAppCheck { } /** * @description use firebase app check methods which require app check instance easily in react app. * @author Achmad Kurnianto * @date 30/07/2024 * @export * @template Options * @param {Options} options provided options when use {@link useInitializeAppCheck} hooks. * @returns {*} */ export declare function useFirebaseAppCheckMethods(opts: Options): { getLimitedUseToken: () => Promise; getToken: (forceRefresh?: boolean) => Promise; setTokenAutoRefreshEnabled: (value: boolean) => void; };