import * as V1User from './v1/user';
import * as V1Engines from './v1/engines';
import * as V1Generation from './v1/generation';
import * as V2BetaStableVideoImageToVideo from './v2beta/stable-video/image-to-video';
import * as V2BetaStableImageEdit from './v2beta/stable-image/edit';
import * as V2BetaStableImageGenerate from './v2beta/stable-image/generate';
import * as V2BetaStableImageResults from './v2beta/stable-image/results';
import * as V2BetaStableImageUpscale from './v2beta/stable-image/upscale';
import { StabilityAIContentResponse } from './util';
declare class StabilityAI {
    private apiKey;
    private organiation?;
    private clientId?;
    private clientVersion?;
    constructor(apiKey: string);
    protected get authHeaders(): {
        Authorization: string;
    };
    protected get orgAuthHeaders(): {
        Organization?: string | undefined;
        'Stability-Client-ID'?: string | undefined;
        'Stability-Client-Version'?: string | undefined;
        Authorization: string;
    };
    get v1(): {
        user: {
            account: () => Promise<V1User.AccountResponse>;
            balance: () => Promise<V1User.BalanceResponse>;
        };
        engines: {
            list: () => Promise<V1Engines.ListResponse>;
        };
        generation: {
            textToImage: (engine_id: V1Generation.EngineId, text_prompts: V1Generation.TextPrompt[], options?: ({
                height?: number | undefined;
                width?: number | undefined;
            } & V1Generation.V1GenerationOptionalParams) | undefined) => Promise<StabilityAIContentResponse[]>;
            imageToImage: (engine_id: V1Generation.EngineId, text_prompts: V1Generation.TextPrompt[], init_image: string, options?: (({
                mode: "IMAGE_STRENGTH";
                image_strength?: number | undefined;
            } | {
                mode: "STEP_SCHEDULE";
                step_schedule_start?: number | undefined;
                step_schedule_end?: number | undefined;
            }) & V1Generation.V1GenerationOptionalParams) | undefined) => Promise<StabilityAIContentResponse[]>;
            imageToImageMasking: (engine_id: V1Generation.EngineId, text_prompts: V1Generation.TextPrompt[], init_image: string, options: ({
                mask_source: "MASK_IMAGE_WHITE" | "MASK_IMAGE_BLACK";
                mask_image: string;
            } | {
                mask_source: "INIT_IMAGE_ALPHA";
            }) & V1Generation.V1GenerationOptionalParams) => Promise<StabilityAIContentResponse[]>;
        };
    };
    get v2beta(): {
        stable3D: {
            stableFast3D: (image: string, options?: {
                textureResolution?: number | undefined;
                foregroundRatio?: number | undefined;
            } | undefined) => Promise<StabilityAIContentResponse>;
        };
        stableVideo: {
            imageToVideo: (image: string, cfgScale?: number | undefined, motionBucketId?: number | undefined, options?: {
                seed?: number | undefined;
            } | undefined) => Promise<V2BetaStableVideoImageToVideo.ImageToVideoResponse>;
            imageToVideoResult: (id: string) => Promise<V2BetaStableVideoImageToVideo.ImageToVideoResultResponse>;
        };
        stableImage: {
            control: {
                sketch: (image: string, prompt: string, options?: {
                    controlStrength?: number | undefined;
                    negativePrompt?: string | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                structure: (image: string, prompt: string, options?: {
                    controlStrength?: number | undefined;
                    negativePrompt?: string | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                style: (image: string, prompt: string, options?: {
                    negativePrompt?: string | undefined;
                    aspectRatio?: V2BetaStableImageGenerate.AspectRatio | undefined;
                    fidelity?: number | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
            };
            edit: {
                erase: (image: string, options?: {
                    mask?: string | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                inpaint: (image: string, prompt: string, options?: {
                    mask?: string | undefined;
                    negativePrompt?: string | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                outpaint: (image: string, options: {
                    prompt?: string | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } & ({
                    left: number;
                    right?: number | undefined;
                    up?: number | undefined;
                    down?: number | undefined;
                } | {
                    left?: number | undefined;
                    right: number;
                    up?: number | undefined;
                    down?: number | undefined;
                } | {
                    left?: number | undefined;
                    right?: number | undefined;
                    up: number;
                    down?: number | undefined;
                } | {
                    left?: number | undefined;
                    right?: number | undefined;
                    up?: number | undefined;
                    down: number;
                })) => Promise<StabilityAIContentResponse>;
                searchAndReplace: (image: string, prompt: string, searchPrompt: string, options?: {
                    negativePrompt?: string | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                removeBackground: (image: string, options?: {
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                replaceBackgroundAndRelight: (image: string, options?: {
                    backgroundPrompt?: string | undefined;
                    backgroundReference?: string | undefined;
                    foregroundPrompt?: string | undefined;
                    negativePrompt?: string | undefined;
                    preserveOriginalSubject?: number | undefined;
                    originalBackgroundDepth?: number | undefined;
                    keepOriginalBackground?: boolean | undefined;
                    lightSourceDirection?: "left" | "right" | "above" | "below" | undefined;
                    lightReference?: string | undefined;
                    lightSourceStrength?: number | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<V2BetaStableImageEdit.ReplaceBackgroundAndRelightResponse>;
            };
            generate: {
                ultra: (prompt: string, options?: {
                    aspectRatio?: V2BetaStableImageGenerate.AspectRatio | undefined;
                    negativePrompt?: string | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                core: (prompt: string, options?: {
                    aspectRatio?: V2BetaStableImageGenerate.AspectRatio | undefined;
                    negativePrompt?: string | undefined;
                    seed?: number | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                sd3: (prompt: string, options?: ({
                    model?: "sd3" | "sd3-turbo" | undefined;
                    seed?: number | undefined;
                    outputFormat?: "jpeg" | "png" | undefined;
                } & ({
                    mode: "text-to-image";
                    aspectRatio?: V2BetaStableImageGenerate.AspectRatio | undefined;
                } | {
                    mode: "image-to-image";
                    image: string;
                    strength: number;
                }) & ({
                    model: "sd3-turbo";
                } | {
                    model?: "sd3" | undefined;
                    negativePrompt?: string | undefined;
                })) | undefined) => Promise<StabilityAIContentResponse>;
            };
            results: {
                fetchAsyncGenerationResult: (id: string) => Promise<V2BetaStableImageResults.FetchAsyncGenerationResultResponse>;
            };
            upscale: {
                conservative: (image: string, prompt: string, options?: {
                    negativePrompt?: string | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                    seed?: number | undefined;
                    creativity?: number | undefined;
                } | undefined) => Promise<StabilityAIContentResponse>;
                startCreative: (image: string, prompt: string, options?: {
                    negativePrompt?: string | undefined;
                    outputFormat?: import("./util").OutputFormat | undefined;
                    seed?: number | undefined;
                    creativity?: number | undefined;
                } | undefined) => Promise<V2BetaStableImageUpscale.CreativeUpscaleResponse>;
                fetchCreativeResult: (id: string, outputFormat: import("./util").OutputFormat) => Promise<V2BetaStableImageUpscale.CreativeUpscaleResultResponse>;
            };
        };
    };
}
export default StabilityAI;
