import { Context, Awaitable, Logger, Schema, Quester } from 'koishi'; import { PartialDeep } from 'koishi-thirdeye'; import PicsContainer from '.'; import { PicSourceConfig } from './config'; import { PicSourceInfo, PicResult } from './def'; export declare class PicSource implements PicSourceInfo { ctx: Context; constructor(ctx: Context); tags: string[]; weight: number; name: string; description: string; isDefault: boolean; applyConfig(src: Partial): void; randomPic(picTags: string[]): Awaitable; onStartup(): Awaitable; onShutdown(): Awaitable; getDisplayString(): string; } export declare class BasePicSourcePlugin extends PicSource { constructor(ctx: Context, config: PartialDeep); http: Quester; config: PicSourceConfig; pics: PicsContainer; logger: Logger; initializeSource(): void; } export declare const PicSourcePlugin: (specificConfig?: import("koishi-thirdeye").ClassType) => new (ctx: import("cordis").Context, config: PartialDeep & { tags?: string[]; weight?: number; name?: string; description?: string; isDefault?: boolean; http?: { headers?: { [x: string]: any; }; timeout?: number; proxyAgent?: string; }; applyTo?: (target: PicSourceInfo) => void; }) => BasePicSourcePlugin & { config: PicSourceConfig & S; }; export declare function PlainPicSourcePlugin(dict: { [K in keyof C]: Schema; }): { new (ctx: Context, config: PartialDeep): { http: Quester; config: PicSourceConfig & C; ctx: Context; tags: string[]; weight: number; name: string; description: string; isDefault: boolean; applyConfig(src: Partial): void; randomPic(picTags: string[]): PicResult | Promise; onStartup(): void | Promise; onShutdown(): void | Promise; getDisplayString(): string; }; Config: Schema, PicSourceConfig & C>; using: readonly ["pics"]; reusable: boolean; };