import { ServiceBubble } from '../../../types/service-bubble-class.js'; import type { BubbleContext } from '../../../types/bubble.js'; import { type MetabaseParamsInput, type MetabaseResult } from './metabase.schema.js'; /** * Metabase Service Bubble * * Integration with Metabase analytics and reporting platform. * * Features: * - Dashboard retrieval and listing * - Card (saved question) metadata * - Card query execution with parsed JSON results * * Supports self-hosted Metabase instances via configurable URL + API key. */ export declare class MetabaseBubble extends ServiceBubble> { static readonly type: "service"; static readonly service = "metabase"; static readonly authType: "apikey"; static readonly bubbleName = "metabase"; static readonly schema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"get_dashboard">; dashboard_id: import("zod").ZodNumber; credentials: import("zod").ZodOptional>; }, "strip", import("zod").ZodTypeAny, { operation: "get_dashboard"; dashboard_id: number; credentials?: Record | undefined; }, { operation: "get_dashboard"; dashboard_id: number; credentials?: Record | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"list_dashboards">; credentials: import("zod").ZodOptional>; }, "strip", import("zod").ZodTypeAny, { operation: "list_dashboards"; credentials?: Record | undefined; }, { operation: "list_dashboards"; credentials?: Record | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"get_card">; card_id: import("zod").ZodNumber; credentials: import("zod").ZodOptional>; }, "strip", import("zod").ZodTypeAny, { operation: "get_card"; card_id: number; credentials?: Record | undefined; }, { operation: "get_card"; card_id: number; credentials?: Record | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"query_card">; card_id: import("zod").ZodNumber; pivot: import("zod").ZodOptional; parameters: import("zod").ZodOptional>; credentials: import("zod").ZodOptional>; }, "strip", import("zod").ZodTypeAny, { operation: "query_card"; card_id: number; parameters?: Record | undefined; credentials?: Record | undefined; pivot?: boolean | undefined; }, { operation: "query_card"; card_id: number; parameters?: Record | undefined; credentials?: Record | undefined; pivot?: boolean | undefined; }>]>; static readonly resultSchema: import("zod").ZodDiscriminatedUnion<"operation", [import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"get_dashboard">; success: import("zod").ZodBoolean; error: import("zod").ZodDefault; data: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; dashcards: import("zod").ZodOptional; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">>, "many">>; parameters: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; dashcards: import("zod").ZodOptional; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">>, "many">>; parameters: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; dashcards: import("zod").ZodOptional; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">>, "many">>; parameters: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>>; }, "strip", import("zod").ZodTypeAny, { error: string; success: boolean; operation: "get_dashboard"; data?: import("zod").objectOutputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; dashcards: import("zod").ZodOptional; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">>, "many">>; parameters: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough"> | undefined; }, { success: boolean; operation: "get_dashboard"; error?: string | undefined; data?: import("zod").objectInputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; dashcards: import("zod").ZodOptional; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodNumber; card_id: import("zod").ZodNullable; card: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodOptional>; name: import("zod").ZodOptional>; display: import("zod").ZodOptional; description: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough">>>>; row: import("zod").ZodNumber; col: import("zod").ZodNumber; size_x: import("zod").ZodNumber; size_y: import("zod").ZodNumber; }, import("zod").ZodTypeAny, "passthrough">>, "many">>; parameters: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough"> | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"list_dashboards">; success: import("zod").ZodBoolean; error: import("zod").ZodDefault; data: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; model: import("zod").ZodOptional; created_at: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; model: import("zod").ZodOptional; created_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; model: import("zod").ZodOptional; created_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>, "many">; total: import("zod").ZodNumber; }, "strip", import("zod").ZodTypeAny, { total: number; dashboards: import("zod").objectOutputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; model: import("zod").ZodOptional; created_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">[]; }, { total: number; dashboards: import("zod").objectInputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; model: import("zod").ZodOptional; created_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">[]; }>>; }, "strip", import("zod").ZodTypeAny, { error: string; success: boolean; operation: "list_dashboards"; data?: { total: number; dashboards: import("zod").objectOutputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; model: import("zod").ZodOptional; created_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">[]; } | undefined; }, { success: boolean; operation: "list_dashboards"; error?: string | undefined; data?: { total: number; dashboards: import("zod").objectInputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; collection_id: import("zod").ZodOptional>; model: import("zod").ZodOptional; created_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">[]; } | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"get_card">; success: import("zod").ZodBoolean; error: import("zod").ZodDefault; data: import("zod").ZodOptional>; display: import("zod").ZodOptional; collection_id: import("zod").ZodOptional>; database_id: import("zod").ZodOptional>; dataset_query: import("zod").ZodOptional>; result_metadata: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; display: import("zod").ZodOptional; collection_id: import("zod").ZodOptional>; database_id: import("zod").ZodOptional>; dataset_query: import("zod").ZodOptional>; result_metadata: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; display: import("zod").ZodOptional; collection_id: import("zod").ZodOptional>; database_id: import("zod").ZodOptional>; dataset_query: import("zod").ZodOptional>; result_metadata: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>>; }, "strip", import("zod").ZodTypeAny, { error: string; success: boolean; operation: "get_card"; data?: import("zod").objectOutputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; display: import("zod").ZodOptional; collection_id: import("zod").ZodOptional>; database_id: import("zod").ZodOptional>; dataset_query: import("zod").ZodOptional>; result_metadata: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough"> | undefined; }, { success: boolean; operation: "get_card"; error?: string | undefined; data?: import("zod").objectInputType<{ id: import("zod").ZodNumber; name: import("zod").ZodString; description: import("zod").ZodOptional>; display: import("zod").ZodOptional; collection_id: import("zod").ZodOptional>; database_id: import("zod").ZodOptional>; dataset_query: import("zod").ZodOptional>; result_metadata: import("zod").ZodOptional, "many">>; created_at: import("zod").ZodOptional; updated_at: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough"> | undefined; }>, import("zod").ZodObject<{ operation: import("zod").ZodLiteral<"query_card">; success: import("zod").ZodBoolean; error: import("zod").ZodDefault; data: import("zod").ZodOptional, "many">; cols: import("zod").ZodArray; base_type: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>, "many">; row_count: import("zod").ZodOptional; status: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ rows: import("zod").ZodArray, "many">; cols: import("zod").ZodArray; base_type: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>, "many">; row_count: import("zod").ZodOptional; status: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ rows: import("zod").ZodArray, "many">; cols: import("zod").ZodArray; base_type: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>, "many">; row_count: import("zod").ZodOptional; status: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>>; }, "strip", import("zod").ZodTypeAny, { error: string; success: boolean; operation: "query_card"; data?: import("zod").objectOutputType<{ rows: import("zod").ZodArray, "many">; cols: import("zod").ZodArray; base_type: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>, "many">; row_count: import("zod").ZodOptional; status: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough"> | undefined; }, { success: boolean; operation: "query_card"; error?: string | undefined; data?: import("zod").objectInputType<{ rows: import("zod").ZodArray, "many">; cols: import("zod").ZodArray; base_type: import("zod").ZodOptional; }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{ name: import("zod").ZodString; display_name: import("zod").ZodOptional; base_type: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">>, "many">; row_count: import("zod").ZodOptional; status: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough"> | undefined; }>]>; static readonly shortDescription = "Metabase integration for dashboards, cards, and analytics queries"; static readonly longDescription = "\n Metabase service integration for business intelligence and analytics.\n\n Features:\n - Get dashboard metadata and dashcard list\n - List all available dashboards\n - Get card (saved question) metadata\n - Execute card queries and retrieve parsed JSON results\n\n Supports self-hosted Metabase instances with API key authentication.\n "; static readonly alias = "analytics"; constructor(params?: T, context?: BubbleContext); testCredential(): Promise; protected chooseCredential(): string | undefined; private getCredentials; protected performAction(_context?: BubbleContext): Promise>; private getDashboard; private listDashboards; private getCard; private queryCard; private makeMetabaseRequest; } //# sourceMappingURL=metabase.d.ts.map