import { type Diagnostic } from "@aotter/mantle-spec"; import type { ViewQueryExecutor, ViewQueryResult } from "../../domain/port/ViewQueryExecutor.js"; import type { RuntimeViewPlan } from "../../domain/service/RuntimePlanCompiler.js"; import type { ExecuteViewRequest } from "../dto/view/ExecuteViewRequest.js"; import type { InvokeProcedureResponse } from "../dto/procedure/index.js"; import type { HandlerContext } from "../../domain/model/HandlerContext.js"; /** * Authorize and bind request values to a prepared View query. REST * adapters coerce query strings and MCP passes typed JSON; this use * case validates the converged param map against `View.spec.params` after * static auth and before an optional guard. */ export type ExecuteViewResponse> = { readonly ok: true; readonly result: ViewQueryResult; } | { readonly ok: false; readonly diagnostic: Diagnostic; }; export type InvokeViewGuard = (request: { readonly procedure: string; readonly input: Record; readonly ctx: HandlerContext; readonly pathPrefix: string; }) => Promise; export declare class ExecuteViewUseCase { private readonly queries; private readonly invokeGuard?; private readonly views; private readonly paramsCache; constructor(queries: ViewQueryExecutor, invokeGuard?: InvokeViewGuard | undefined, views?: Readonly>); execute>(request: ExecuteViewRequest): Promise>; } //# sourceMappingURL=ExecuteViewUseCase.d.ts.map