import { ConnectionConfig, DirectConnectionConfig, FlinkDirectConfig } from "../../../../config/models.js"; import { BaseToolHandler, ToolCategory } from "../../../../confluent/tools/base-tools.js"; /** Arguments routed into a Flink REST call, in tool-arg (camelCase) form. */ export interface FlinkRoutingArgs { organizationId?: string; environmentId?: string; computePoolId?: string; } /** Intermediate base class for Flink tool handlers */ export declare abstract class FlinkToolHandler extends BaseToolHandler { readonly category = ToolCategory.Flink; readonly predicate: import("../../../../confluent/tools/connection-predicates.js").ConnectionPredicate; /** * Extracts the Flink config block from the resolved connection, asserting it exists. * Throws "Wacky -- " if called on a connection without a flink block (should be * impossible in production given the hasFlink gate, but caught here rather than * silently propagating undefined). */ protected getFlinkDirectConfig(conn: DirectConnectionConfig): FlinkDirectConfig; protected resolveOrgAndEnvIds(flink: FlinkDirectConfig, orgIdArg: string | undefined, envIdArg: string | undefined): { organization_id: string; environment_id: string; }; protected resolveComputePoolId(flink: FlinkDirectConfig, computePoolIdArg: string | undefined): string; /** * Resolves the org / env / compute-pool IDs that route a Flink REST call, * handling both connection arms. The compute pool ID is always required — * the Flink REST host is regional and resolved from it under OAuth, and on * direct connections the `flink` block always carries one (the config schema * makes `flink.compute_pool_id` mandatory). * * - Direct: explicit args win, falling back to the `flink.*` config block. * - OAuth: all three are required as arguments (an OAuth connection carries * no `flink` block to default from); throws a discovery hint when any is * missing. */ protected resolveFlinkRouting(conn: ConnectionConfig, args: FlinkRoutingArgs): { organization_id: string; environment_id: string; compute_pool_id: string; }; } //# sourceMappingURL=flink-tool-handler.d.ts.map