import { GuardEventsKebabToCamelType, Lang, GuardProps, GuardLocalConfig, CodeAction, ApiCode, GuardModuleType, LoginMethods, OIDCConnectionMode, SocialConnectionProvider, Protocol, RegisterMethods, GuardMode, InputMethod, GuardPageSene, EmailScene, SceneType } from '@authing/react-ui-components';
import { CSSProperties } from 'react';
export declare type ICodeAction = `${CodeAction}`;
export declare type IApiCode = `${ApiCode}`;
export declare type IGuardModuleType = `${GuardModuleType}`;
export declare type ILoginMethod = `${LoginMethods}`;
export declare type IOIDCConnectionMode = `${OIDCConnectionMode}`;
export declare type ISocialConnectionProvider = `${SocialConnectionProvider}`;
export declare type IProtocol = `${Protocol}`;
export declare type IRegisterMethod = `${RegisterMethods}`;
export declare type IGuardMode = `${GuardMode}`;
export declare type IInputMethod = `${InputMethod}`;
export declare type IGuardPageSene = `${GuardPageSene}`;
export declare type IEmailScene = `${EmailScene}`;
export declare type ISceneType = `${SceneType}`;
export declare type GuardEventListeners = {
    [key in keyof GuardEventsKebabToCamelType]: Exclude<Required<GuardEventsKebabToCamelType>[key], undefined>[];
};
export declare type CodeChallengeMethod = 'S256' | 'plain';
export interface IGuardConfig extends GuardLocalConfig {
    socialConnectionList?: ISocialConnectionProvider[];
    loginMethod?: ILoginMethod;
    loginMethodList: ILoginMethod[];
    registerMethod?: IRegisterMethod;
    registerMethodList?: IRegisterMethod[];
    contentCSS?: string;
}
export interface GuardOptions extends GuardProps {
    appId: string;
    host?: string;
    redirectUri?: string;
    mode?: IGuardMode;
    defaultScene?: IGuardModuleType;
    tenantId?: string;
    lang?: Lang;
    isSSO?: boolean;
    config?: Partial<IGuardConfig>;
    style?: CSSProperties;
}
export interface StartWithRedirectOptions {
    codeChallengeMethod?: CodeChallengeMethod;
    scope?: string;
    state?: string;
    responseType?: 'code' | 'code id_token token' | 'code id_token' | 'code token' | 'id_token token' | 'id_token' | 'none';
    responseMode?: 'query' | 'fragment' | 'form_post';
    nonce?: string;
}
export interface LogoutParams {
    redirectUri?: string;
    quitCurrentDevice?: boolean;
}
export * from '@authing/react-ui-components';
