import * as React from 'react'; import { User, UserManager } from 'oidc-client'; export interface IAuthenticatorContext { signOut: () => void; user: User | null; userManager: UserManager | null; } declare const AuthenticatorContext: React.Context; export interface IAuthenticatorState { isFetchingUser: boolean; context: { signOut: () => void; user: User | null; userManager: UserManager; }; } export interface IMakeAuthenticatorParams { placeholderComponent?: React.ReactNode; userManager?: UserManager; signinArgs?: any; } declare function makeAuthenticator({ userManager, placeholderComponent, signinArgs }: IMakeAuthenticatorParams): (WrappedComponent: React.ComponentType) => { new (props: Props): { userManager: UserManager; signinArgs: any; componentDidMount(): void; getUser: () => void; storeUser: (user: User) => void; signOut: () => void; isValid: () => boolean; render(): {}; context: any; setState(state: IAuthenticatorState | ((prevState: Readonly, props: Readonly) => IAuthenticatorState | Pick) | Pick, callback?: () => void): void; forceUpdate(callBack?: () => void): void; readonly props: Readonly & Readonly<{ children?: React.ReactNode; }>; state: Readonly; refs: { [key: string]: React.ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): boolean; componentWillUnmount?(): void; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; getSnapshotBeforeUpdate?(prevProps: Readonly, prevState: Readonly): any; componentDidUpdate?(prevProps: Readonly, prevState: Readonly, snapshot?: any): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; }; contextType?: React.Context; }; export { AuthenticatorContext, makeAuthenticator };