import { AutoBeOpenApi, AutoBeRealizeAuthorization } from "@autobe/interface";
import { ILlmSchema } from "@samchon/openapi";
import { AutoBeContext } from "../../../context/AutoBeContext";
import { IAutoBeRealizeScenarioResult } from "../structures/IAutoBeRealizeScenarioResult";
/**
 * Generates a planning result that defines what kind of function should be
 * created based on the provided Swagger (OpenAPI) operation.
 *
 * This function analyzes the structure of the OpenAPI operation (such as the
 * path, method, parameters, request/response schema, and descriptions) to
 * determine the appropriate function name, input/output types, and purpose of
 * the function.
 *
 * The result of this function is passed to the next step in the AutoBE
 * pipeline, which is responsible for generating the actual implementation
 * code.
 *
 * @author Kakasoo
 * @param ctx - AutoBE context including model and configuration
 * @param operation - A single OpenAPI operation object to analyze and plan
 * @param authorization - Optional authorization configuration
 * @returns A scenario object containing all structural information needed to
 *   generate the function
 */
export declare function generateRealizeScenario<Model extends ILlmSchema.Model>(ctx: AutoBeContext<Model>, operation: AutoBeOpenApi.IOperation, authorizations: AutoBeRealizeAuthorization[]): IAutoBeRealizeScenarioResult;
