import type { PortableTool } from "../portable-tool.js";
import type { GeneratePetdexImage, UploadPetdexReferenceImage } from "@xiaozhiclaw/pet-core";
export declare const PETDEX_CREATE_TOOL_NAME: "petdex_create";
export interface PetdexCreateToolParams {
    name?: string;
    description: string;
    prompt?: string;
    reference_image_url?: string;
    base_spritesheet_path?: string;
    output_dir?: string;
}
export interface PetdexCreateToolDeps {
    generateImage: GeneratePetdexImage;
    uploadReferenceImage?: UploadPetdexReferenceImage;
    resolveOutputDir(outputDir?: string): string;
}
export declare const PETDEX_CREATE_TOOL_SCHEMA: {
    readonly type: "object";
    readonly properties: {
        readonly name: {
            readonly type: "string";
            readonly description: "Short display name for the generated desktop pet. Defaults to a short name derived from description.";
        };
        readonly description: {
            readonly type: "string";
            readonly description: "Canonical character description for the Petdex desktop pet.";
        };
        readonly prompt: {
            readonly type: "string";
            readonly description: "Optional extra visual direction. The tool will embed it into a strict Petdex 8x9 atlas prompt.";
        };
        readonly reference_image_url: {
            readonly type: "string";
            readonly description: "Optional publicly accessible HTTP/HTTPS reference image URL for image-to-image generation.";
        };
        readonly base_spritesheet_path: {
            readonly type: "string";
            readonly description: "Optional existing spritesheet.webp path; used as the identity reference to regenerate the whole atlas while keeping the same character.";
        };
        readonly output_dir: {
            readonly type: "string";
            readonly description: "Optional output directory. Defaults to the workspace Petdex asset output directory.";
        };
    };
    readonly required: readonly ["description"];
};
export declare function createPetdexCreateTool(deps: PetdexCreateToolDeps): PortableTool<PetdexCreateToolParams>;
