import { z } from "zod";
import type { AgentTool } from "@prestyj/agent";
/**
 * Structural subset of AuthStorage the tool needs at execute time. Using a
 * structural type avoids importing the full class (and its gg-core dependency
 * chain) into the tool module — the caller satisfies this with its real
 * AuthStorage instance.
 */
export type GenerateImageAuth = {
    resolveCredentials(provider: string): Promise<{
        accessToken: string;
        accountId?: string;
    }>;
};
declare const GenerateImageParams: z.ZodObject<{
    prompt: z.ZodString;
    image: z.ZodOptional<z.ZodString>;
    size: z.ZodOptional<z.ZodString>;
    quality: z.ZodOptional<z.ZodEnum<{
        low: "low";
        medium: "medium";
        high: "high";
        auto: "auto";
    }>>;
    n: z.ZodOptional<z.ZodNumber>;
    out_path: z.ZodOptional<z.ZodString>;
    output_format: z.ZodOptional<z.ZodEnum<{
        png: "png";
        jpeg: "jpeg";
        webp: "webp";
    }>>;
    background: z.ZodOptional<z.ZodEnum<{
        auto: "auto";
        opaque: "opaque";
    }>>;
}, z.core.$strip>;
export declare function createGenerateImageTool(cwd: string, auth: GenerateImageAuth): AgentTool<typeof GenerateImageParams>;
export {};
//# sourceMappingURL=generate-image.d.ts.map