import type { PortableTool } from "../portable-tool.js";
export declare const THREE_D_GENERATE_TOOL_NAME: "three_d_generate";
export interface ThreeDGenerateToolParams {
    prompt: string;
    image_url?: string;
    output_format?: string;
    seed?: number;
}
export declare const THREE_D_GENERATE_TOOL_SCHEMA: {
    readonly type: "object";
    readonly properties: {
        readonly prompt: {
            readonly type: "string";
            readonly description: string;
        };
        readonly image_url: {
            readonly type: "string";
            readonly description: string;
        };
        readonly output_format: {
            readonly type: "string";
            readonly description: "3D model output format: 'glb' (default), 'obj', 'usd', 'usdz'.";
        };
        readonly seed: {
            readonly type: "number";
            readonly description: "Random seed for reproducible generation.";
        };
    };
    readonly required: readonly ["prompt"];
};
export interface ThreeDGenerateResult {
    mediaUrls: string[];
    model?: string;
    durationMs?: number;
    metadata?: Record<string, unknown>;
}
/** Deps injected by the host runtime for 3D generation. */
export interface ThreeDGenerateToolDeps {
    generate3D(params: {
        prompt: string;
        imageUrl?: string;
        outputFormat?: string;
        seed?: number;
    }): Promise<ThreeDGenerateResult>;
}
export declare function createThreeDGenerateTool(deps: ThreeDGenerateToolDeps): PortableTool<ThreeDGenerateToolParams>;
