export interface Perks {
    maxPriorityActions: number;
    startPriority: number;
    contextTokens: number;
    moduleTrainingSteps: number;
    unlimitedMaxPriority: boolean;
    voiceGeneration: boolean;
    imageGeneration: boolean;
    unlimitedImageGeneration: boolean;
    unlimitedImageGenerationLimits: {
        resolution: number;
        maxPrompts: number;
    }[];
}
export interface PaymentProcessorData {
    c: string;
    n: number;
    o: string;
    p: number;
    r: string;
    s: string;
    t: number;
    u: string;
}
export interface TrainingStepsLeft {
    fixedTrainingStepsLeft: number;
    purchasedTrainingSteps: number;
}
export interface Subscription {
    tier: number;
    active: boolean;
    expiresAt: number;
    perks: Perks;
    paymentProcessorData: PaymentProcessorData;
    trainingStepsLeft: TrainingStepsLeft;
}
export interface ImageData {
    buffer: ArrayBuffer;
    base64: string;
    dataUrl: string;
}
export declare namespace NovelAI {
    /** 0.5, 0.5 means make ai choose */
    interface V4CharacterPromptCenter {
        x: number;
        y: number;
    }
    interface V4CharacterPrompt {
        prompt: string;
        uc: string;
        center: V4CharacterPromptCenter;
    }
    interface V4CharCaption {
        char_caption: string;
        centers: V4CharacterPromptCenter[];
    }
    interface V4PromptCaption {
        base_caption: string;
        char_captions: V4CharCaption[];
    }
    interface V4Prompt {
        caption: V4PromptCaption;
    }
    interface V4PromptPositive extends V4Prompt {
        use_coords: boolean;
        use_order: boolean;
    }
    /** 用户输入的角色定义 */
    interface Character {
        /** 角色的正向提示词 */
        prompt: string;
        /** 角色的负向提示词（可选） */
        uc?: string;
        /** 位置坐标，如 "A1" 到 "E5"（可选，默认 "C3"） */
        position?: string;
    }
}
export interface UserData {
    isMember: boolean;
    membershipExpiry: number;
    dailyUsage: number;
    lastUsed: number;
    dailyLimit: number;
    lastDrawTime?: number;
    points?: number;
}
export interface HhsHuatuUser {
    id: number;
    visitorId: string;
    isMember: boolean;
    membershipExpiry: number;
    dailyUsage: number;
    lastUsed: number;
    dailyLimit: number;
    lastDrawTime: number;
    points: number;
}
declare module 'koishi' {
    interface Tables {
        hhs_huatu_user: HhsHuatuUser;
    }
}
export declare namespace StableDiffusionWebUI {
    interface Request {
        prompt: string;
        negative_prompt?: string;
        enable_hr?: boolean;
        denoising_strength?: number;
        firstphase_width?: number;
        firstphase_height?: number;
        styles?: string[];
        seed?: number;
        subseed?: number;
        subseed_strength?: number;
        seed_resize_from_h?: number;
        seed_resize_from_w?: number;
        batch_size?: number;
        n_iter?: number;
        steps?: number;
        cfg_scale?: number;
        width?: number;
        height?: number;
        restore_faces?: boolean;
        tiling?: boolean;
        eta?: number;
        s_churn?: number;
        s_tmax?: number;
        s_tmin?: number;
        s_noise?: number;
        sampler_index?: string;
    }
    interface Response {
        /** Image list in base64 format */
        images: string[];
        parameters: any;
        info: any;
    }
    /**
     * @see https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/828438b4a190759807f9054932cae3a8b880ddf1/modules/api/models.py#L122
     */
    interface ExtraSingleImageRequest {
        image: string;
        /** Sets the resize mode: 0 to upscale by upscaling_resize amount, 1 to upscale up to upscaling_resize_h x upscaling_resize_w. */
        resize_mode?: 0 | 1;
        show_extras_results?: boolean;
        gfpgan_visibility?: number;
        codeformer_visibility?: number;
        codeformer_weight?: number;
        upscaling_resize?: number;
        upscaling_resize_w?: number;
        upscaling_resize_h?: number;
        upscaling_crop?: boolean;
        upscaler_1?: string;
        upscaler_2?: string;
        extras_upscaler_2_visibility?: number;
        upscale_first?: boolean;
    }
    interface ExtraSingleImageResponse {
        image: string;
    }
}
export interface Config {
    translator?: {
        enable: boolean;
        provider?: string;
    };
}
export declare namespace DirectorTools {
    type ToolType = 'bg-removal' | 'lineart' | 'sketch' | 'colorize' | 'emotion' | 'declutter';
    interface Request {
        height: number;
        width: number;
        image: string;
        req_type: ToolType;
        defry?: number;
        prompt?: string;
    }
    type Emotion = 'neutral' | 'happy' | 'sad' | 'angry' | 'scared' | 'surprised' | 'tired' | 'excited' | 'nervous' | 'thinking' | 'confused' | 'shy' | 'disgusted' | 'smug' | 'bored' | 'laughing' | 'irritated' | 'aroused' | 'embarrassed' | 'worried' | 'love' | 'determined' | 'hurt' | 'playful';
}
