import { Dialog } from '@cads-ui/core'; import React from 'react'; import { ManagerOptions, SocketOptions } from 'socket.io-client'; interface Translation { /** Default: Session expired ! */ popupTitle?: string; /** Default: Your session has expired. Please log in again ! */ popupContent?: string; /** Default: Automatically log out after */ popupCountdown?: string; /** Default: seconds */ second?: string; } type EnvMode = 'local' | 'dev' | 'staging' | 'prod'; export interface TokenIdleTimerProps { serverUrl?: string; serverPath?: string; envMode?: EnvMode; /** Token key in localStorage (default:"accessToken") */ tokenKey?: string; /** Expired time in decoded jwt code (default: exp) */ expiredKey?: string; /** Expired time type (default: second) */ expType?: 'date' | 'second' | 'millisecond'; /** Show alert popup when token expired. Trigger onTokenExpired when popup close (default: false) */ showAlertPopup?: boolean; /** Auto close popup by seconds (default: 30s) */ autoClosePopup?: number; /** Customize socket io */ socketOptions?: Partial; /** Custom popup alert */ DialogProps?: Partial>; /** Support translate */ translation?: Translation; /** Trigger when token expired or token in localStorage not found (setTimeOut with value of expiredKey) */ onTokenExpired?: () => any; /** Trigger when decode token with "expiredKey" failed */ onDecodeFailed?: () => any; } export declare const removeTokenInLS: (tokenKey?: string) => void; export declare const TokenIdleTimer: React.FC; export default TokenIdleTimer;