koishi-plugin-emojiluna
Version:
Smart emoji management plugin with AI categorization
21 lines (20 loc) • 1.25 kB
TypeScript
import { Context, h, Session } from 'koishi';
import { ImageConfig, ImageEditOptions, ImageGenerationOptions, ImageGenerationResponse, ImageVariationOptions } from '../types';
export declare abstract class ImageAdapter<T extends keyof ImageAdapterType = keyof ImageAdapterType> {
ctx: Context;
abstract type: T;
private modelCache;
private readonly CACHE_DURATION;
constructor(ctx: Context);
abstract generateImage(config: ImageConfig<T>, options: ImageGenerationOptions, session?: Session): Promise<ImageGenerationResponse>;
abstract editImage(config: ImageConfig<T>, options: ImageEditOptions, session?: Session): Promise<ImageGenerationResponse>;
abstract createVariation(config: ImageConfig<T>, options: ImageVariationOptions, session?: Session): Promise<ImageGenerationResponse>;
protected abstract _getModels(config: ImageConfig<T>): Promise<string[]>;
getModels(config: ImageConfig<T>): Promise<string[]>;
protected abstract getDefaultModels(): string[];
supportsModel(config: ImageConfig<T>, model: string): Promise<boolean>;
clearModelCache(config?: ImageConfig<T>): void;
createImageElements(response: ImageGenerationResponse): Promise<h[]>;
}
export interface ImageAdapterType {
}