import { FronteggThemeOptions } from './ThemeOptions';
import { FronteggMetadata } from './FronteggMetadata';
import { ContextOptions } from './ContextOptions';
import { FronteggStoreOptions } from './FronteggStoreOptions';
import { LocalizationsOverrides } from './Localizations';
import { CustomEventsOptions, EntitlementsOptions } from '@frontegg/redux-store';
import { PrivateOptions } from './PrivateOptions';
export interface FronteggAppOptions extends FronteggStoreOptions, PrivateOptions {
/**
* use this flag if you want to hide the field "Company name" from the sign up form
@deprecated, use themeOptions.loginBox.signup.hideSignUpFields.hideCompanyName
*/
withCompanyName?: boolean;
contextOptions: ContextOptions;
events?: CustomEventsOptions;
themeOptions?: FronteggThemeOptions;
/**
* Authentication background logo image
* @deprecated, use themeOptions.loginBox.rootStyle.background
*/
backgroundImage?: string;
/**
* Authentication background logo image
* @deprecated, use themeOptions.loginBox.logo.image from @LogoComponent
*/
headerImage?: string;
/**
* pass true to customLoginBox to prevent loading LoginBox and implement authentication pages with @frontegg/react-hooks
*/
customLoginBox?: boolean;
/**
* pass true to hostedLoginBox if you are using frontegg hosted login
*/
hostedLoginBox?: boolean;
/**
* Option to override Frontegg loader visibility. LoginBox will call this function when
* the full page loader mounted and unmounted, for override and display custom loader
*
* ```tsx
* // App.tsx
*
* export const App = ()=>{
* const [loading, setLoading] = useState(true);
*
* return <>
*
*
*
*
* {loading && }
* >
* }
* ```
*/
customLoader?: boolean | ((loading: boolean) => void);
/**
* Inline CSS styles for native override styles
*/
customStyles?: string;
/**
* Global metadata object to customize Admin Portal
*/
metadata?: FronteggMetadata;
/**
* Base name for LoginBox router
*/
basename?: string;
/**
* Set url strategy to use for LoginBox router
*/
urlStrategy?: 'path' | 'hash';
/**
* Option to override i18n localizations in AdminPortal and LoginBox components
*/
localizations?: LocalizationsOverrides;
/**
* Option to support tracing from the Frontegg login box
*/
tracing?: boolean;
/**
* Option to override the CDN url for loading Frontegg UI elements
*/
cdnUrl?: string;
/**
* Option to override the Assets url for loading Frontegg UI elements
*/
assetsUrl?: string;
/**
* Option to override the sso guides CDN url
*/
guidesCdnUrl?: string;
/**
* Entitlements options
*/
entitlementsOptions?: EntitlementsOptions;
/**
* App name for multi-app support
*/
appName?: string;
}