import type { McpConfig } from "./config.js";
export declare class StudioApiError extends Error {
    readonly status: number;
    readonly body?: unknown | undefined;
    constructor(status: number, message: string, body?: unknown | undefined);
}
export declare class StudioApiClient {
    private readonly config;
    constructor(config: McpConfig);
    absoluteUrl(pathOrUrl: string): string;
    listModels(): Promise<{
        models: unknown[];
    }>;
    getCredits(): Promise<{
        balance: number;
        currency: string;
    }>;
    listGenerations(limit?: number): Promise<{
        generations: unknown[];
    }>;
    generate(input: {
        modelId: string;
        prompt: string;
        aspectRatio?: "16:9" | "9:16" | "1:1";
    }): Promise<Record<string, unknown>>;
    getGeneration(generationId: string): Promise<Record<string, unknown>>;
    cancelGeneration(generationId: string): Promise<Record<string, unknown>>;
    submitGeneration(generationId: string, aspectRatio?: "16:9" | "9:16" | "1:1"): Promise<Record<string, unknown>>;
    uploadInput(input: {
        generationId: string;
        filePath?: string;
        imageBase64?: string;
        contentType?: "image/png" | "image/jpeg" | "image/webp" | "image/gif";
    }): Promise<Record<string, unknown>>;
    waitGeneration(input: {
        generationId: string;
        timeoutSeconds?: number;
        pollIntervalMs?: number;
    }): Promise<Record<string, unknown>>;
    withAbsoluteOutput(payload: Record<string, unknown>): Record<string, unknown>;
    private request;
}
