import { Awaitable, Context, Dict } from 'koishi'; import { DataService } from '@koishijs/console'; import { SearchObject, SearchResult } from '@koishijs/registry'; declare module '@koishijs/console' { interface Events { 'market/refresh'(): void; } namespace Console { interface Services { market: MarketProvider; } } } export declare abstract class MarketProvider extends DataService { private _task; private _timestamp; protected _error: any; constructor(ctx: Context); start(refresh?: boolean): Awaitable; abstract collect(): Promise; prepare(): Promise; } export declare namespace MarketProvider { interface Payload { registry?: string; data: Dict; total: number; failed: number; progress: number; gravatar?: string; } }