///
import { SimpleFetchResponse } from "@keplr-wallet/simple-fetch";
declare class IntervalFetcher {
readonly opts: {
readonly url: string;
readonly fetchingIntervalMs: number;
readonly retryIntervalMs: number;
readonly allowTimeoutMs: number;
};
protected readonly handler: (data: SimpleFetchResponse) => void;
protected _hasInited: boolean;
protected _hasStopped: boolean;
protected timeoutId?: NodeJS.Timeout;
constructor(opts: {
readonly url: string;
readonly fetchingIntervalMs: number;
readonly retryIntervalMs: number;
readonly allowTimeoutMs: number;
}, handler: (data: SimpleFetchResponse) => void);
get hasInited(): boolean;
start(): void;
stop(): void;
fetch(): Promise;
}
export declare class PhishingListService {
readonly opts: {
readonly blockListUrl: string;
readonly twitterListUrl?: string;
readonly fetchingIntervalMs: number;
readonly retryIntervalMs: number;
readonly allowTimeoutMs: number;
};
readonly blocklistPageURL: string;
protected urlMap: Map;
protected readonly allowedUrlMap: Map;
protected twitterMap: Map;
readonly urlFetcher: IntervalFetcher;
readonly twitterFetcher?: IntervalFetcher;
constructor(opts: {
readonly blockListUrl: string;
readonly twitterListUrl?: string;
readonly fetchingIntervalMs: number;
readonly retryIntervalMs: number;
readonly allowTimeoutMs: number;
}, blocklistPageURL: string);
init(): Promise;
get hasInited(): boolean;
stop(): void;
checkURLIsPhishing(url: string): boolean;
allowUrlTemp(url: string): void;
checkBadTwitterId(id: string): boolean;
}
export {};