import { z } from 'zod'; import { ServiceBubble } from '../../types/service-bubble-class.js'; import type { BubbleContext } from '../../types/bubble.js'; import { CredentialType, type BubbleName } from '@bubblelab/shared-schemas'; declare const HttpParamsSchema: z.ZodObject<{ url: z.ZodString; method: z.ZodDefault>; headers: z.ZodOptional>; body: z.ZodOptional]>>; timeout: z.ZodDefault; followRedirects: z.ZodDefault; authType: z.ZodDefault>; authHeader: z.ZodOptional; responseType: z.ZodDefault>; credentials: z.ZodOptional, z.ZodString>>; }, "strip", z.ZodTypeAny, { timeout: number; url: string; method: "POST" | "DELETE" | "GET" | "PUT" | "PATCH" | "HEAD" | "OPTIONS"; followRedirects: boolean; authType: "none" | "custom" | "bearer" | "basic" | "api-key" | "api-key-header"; responseType: "binary" | "text" | "auto"; credentials?: Partial> | undefined; headers?: Record | undefined; body?: string | Record | undefined; authHeader?: string | undefined; }, { url: string; credentials?: Partial> | undefined; timeout?: number | undefined; headers?: Record | undefined; method?: "POST" | "DELETE" | "GET" | "PUT" | "PATCH" | "HEAD" | "OPTIONS" | undefined; body?: string | Record | undefined; followRedirects?: boolean | undefined; authType?: "none" | "custom" | "bearer" | "basic" | "api-key" | "api-key-header" | undefined; authHeader?: string | undefined; responseType?: "binary" | "text" | "auto" | undefined; }>; type HttpParamsInput = z.input; type HttpParams = z.output; declare const HttpResultSchema: z.ZodObject<{ status: z.ZodNumber; statusText: z.ZodString; headers: z.ZodRecord; body: z.ZodString; isBase64: z.ZodBoolean; contentType: z.ZodString; json: z.ZodOptional; success: z.ZodBoolean; error: z.ZodString; responseTime: z.ZodNumber; size: z.ZodNumber; }, "strip", z.ZodTypeAny, { status: number; error: string; success: boolean; isBase64: boolean; headers: Record; size: number; body: string; contentType: string; statusText: string; responseTime: number; json?: unknown; }, { status: number; error: string; success: boolean; isBase64: boolean; headers: Record; size: number; body: string; contentType: string; statusText: string; responseTime: number; json?: unknown; }>; type HttpResult = z.output; export declare class HttpBubble extends ServiceBubble { static readonly service = "nodex-core"; static readonly authType: "apikey"; static readonly bubbleName: BubbleName; static readonly type: "service"; static readonly schema: z.ZodObject<{ url: z.ZodString; method: z.ZodDefault>; headers: z.ZodOptional>; body: z.ZodOptional]>>; timeout: z.ZodDefault; followRedirects: z.ZodDefault; authType: z.ZodDefault>; authHeader: z.ZodOptional; responseType: z.ZodDefault>; credentials: z.ZodOptional, z.ZodString>>; }, "strip", z.ZodTypeAny, { timeout: number; url: string; method: "POST" | "DELETE" | "GET" | "PUT" | "PATCH" | "HEAD" | "OPTIONS"; followRedirects: boolean; authType: "none" | "custom" | "bearer" | "basic" | "api-key" | "api-key-header"; responseType: "binary" | "text" | "auto"; credentials?: Partial> | undefined; headers?: Record | undefined; body?: string | Record | undefined; authHeader?: string | undefined; }, { url: string; credentials?: Partial> | undefined; timeout?: number | undefined; headers?: Record | undefined; method?: "POST" | "DELETE" | "GET" | "PUT" | "PATCH" | "HEAD" | "OPTIONS" | undefined; body?: string | Record | undefined; followRedirects?: boolean | undefined; authType?: "none" | "custom" | "bearer" | "basic" | "api-key" | "api-key-header" | undefined; authHeader?: string | undefined; responseType?: "binary" | "text" | "auto" | undefined; }>; static readonly resultSchema: z.ZodObject<{ status: z.ZodNumber; statusText: z.ZodString; headers: z.ZodRecord; body: z.ZodString; isBase64: z.ZodBoolean; contentType: z.ZodString; json: z.ZodOptional; success: z.ZodBoolean; error: z.ZodString; responseTime: z.ZodNumber; size: z.ZodNumber; }, "strip", z.ZodTypeAny, { status: number; error: string; success: boolean; isBase64: boolean; headers: Record; size: number; body: string; contentType: string; statusText: string; responseTime: number; json?: unknown; }, { status: number; error: string; success: boolean; isBase64: boolean; headers: Record; size: number; body: string; contentType: string; statusText: string; responseTime: number; json?: unknown; }>; static readonly shortDescription = "Makes HTTP requests to external APIs and services"; static readonly longDescription = "\n A basic HTTP client bubble for making requests to external APIs and web services.\n \n Features:\n - Support for all major HTTP methods (GET, POST, PUT, PATCH, DELETE, etc.)\n - Custom headers and request body support\n - Configurable timeouts and redirect handling\n - JSON parsing for API responses\n - Detailed response metadata (status, headers, timing, size)\n - Error handling with meaningful messages\n \n Use cases:\n - Calling external REST APIs\n - Webhook requests\n - Data fetching from web services\n - Integration with third-party services\n - Simple web scraping (for public APIs)\n - Health checks and monitoring\n "; static readonly alias = "fetch"; constructor(params?: HttpParamsInput, context?: BubbleContext); protected chooseCredential(): string | undefined; testCredential(): Promise; protected performAction(context?: BubbleContext): Promise; /** * Determines if a Content-Type represents text content (as opposed to binary). * Binary content will be base64-encoded in the response body. */ private isTextMimeType; } export {}; //# sourceMappingURL=http.d.ts.map