import * as React from 'react'; import { Type as AlertType } from '../alert'; declare type Grant = { tokens: string; expireDate: string; }; declare type GrantClaim = { promotionId?: string; altcurrency?: string; probi: string; expiryTime: number; captcha?: string; hint?: string; status?: 'wrongPosition' | 'grantGone' | 'generalError' | 'grantAlreadyClaimed' | number | null; }; export interface AlertWallet { node: React.ReactNode; type: AlertType; onAlertClose?: () => void; } export interface ActionWallet { icon: React.ReactNode; name: string; action: () => void; } export declare type NotificationType = 'ads' | 'ads-launch' | 'backupWallet' | 'contribute' | 'grant' | 'insufficientFunds' | 'tipsProcessed' | 'error' | ''; export interface Notification { id: string; date?: string; type: NotificationType; text: React.ReactNode; onCloseNotification: (id: string) => void; } export interface Props { balance: string; converted: string | null; actions: ActionWallet[]; connectedWallet?: boolean; compact?: boolean; contentPadding?: boolean; showCopy?: boolean; children?: React.ReactNode; showSecActions?: boolean; onSettingsClick?: () => void; onActivityClick?: () => void; grants?: Grant[]; grant?: GrantClaim; alert?: AlertWallet | null; id?: string; gradientTop?: string; isMobile?: boolean; notification?: Notification; onNotificationClick?: () => void; onGrantHide?: () => void; onFinish?: () => void; onSolution?: (x: number, y: number) => void; convertProbiToFixed?: (probi: string, place: number) => string; } export declare type Step = '' | 'captcha' | 'complete'; interface State { grantDetails: boolean; } export default class WalletWrapper extends React.PureComponent { constructor(props: Props); generateActions(actions: { icon: React.ReactNode; name: string; action: () => void; }[], id?: string): JSX.Element[]; onNotificationClick: () => void; onGrantHide: () => void; onFinish: () => void; onSolution: (x: number, y: number) => void; grantCaptcha: () => JSX.Element | undefined; getNotificationButton: (type: NotificationType, onClose: any) => JSX.Element; generateNotification: (notification: Notification | undefined) => JSX.Element | null; toggleGrantDetails: () => void; hasGrants: (grants?: Grant[] | undefined) => boolean | undefined; getNotificationIcon: (notification: Notification) => JSX.Element | null; getNotificationMessage: (notification: Notification) => JSX.Element; render(): JSX.Element; } export {};