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;
    }
}
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;
    }
}
