import { ZodType } from 'zod'; import { ContentType, HttpMethod, RequestConfig, SdkConfig } from '../types.js'; import { Request } from './request.js'; import { ErrorDefinition, RequestCursorPagination, RequestPagination, RequestParameter, ResponseDefinition } from './types.js'; /** * Builder pattern implementation for constructing HTTP requests. * Provides a fluent interface for configuring all aspects of an API request. * @template Page - The type for paginated response pages */ export declare class RequestBuilder { /** Internal request parameters being built */ private params; /** * Creates a new request builder with default configuration. * Initializes retry settings, validation options, and empty parameter collections. */ constructor(); setRetryAttempts(sdkConfig?: SdkConfig, requestConfig?: RequestConfig): RequestBuilder; setRetryDelayMs(sdkConfig?: SdkConfig, requestConfig?: RequestConfig): RequestBuilder; setResponseValidation(sdkConfig: SdkConfig, requestConfig?: RequestConfig): RequestBuilder; setBaseUrl(baseUrl: string | undefined): RequestBuilder; setMethod(method: HttpMethod): RequestBuilder; setPath(path: string): RequestBuilder; setConfig(config: SdkConfig): RequestBuilder; setRequestContentType(contentType: ContentType): RequestBuilder; setRequestSchema(requestSchema: ZodType): RequestBuilder; setFilename(filename?: string): RequestBuilder; setFilenames(filenames?: string[]): RequestBuilder; setPagination(pagination: RequestPagination): RequestBuilder; setCursorPagination(pagination: RequestCursorPagination): RequestBuilder; addAccessTokenAuth(accessToken?: string, prefix?: string): RequestBuilder; addBasicAuth(username?: string, password?: string): RequestBuilder; addApiKeyAuth(apiKey?: string, keyName?: string): RequestBuilder; addResponse(response: ResponseDefinition): RequestBuilder; addError(error: ErrorDefinition): RequestBuilder; addBody(body?: any): RequestBuilder; addPathParam(param: Partial): RequestBuilder; addQueryParam(param: Partial): RequestBuilder; addHeaderParam(param: Partial): RequestBuilder; addCookieParam(param: Partial): RequestBuilder; /** * Builds and returns the configured Request object. * Call this method after configuring all request parameters. * @returns A new Request instance with all configured parameters */ build(): Request; /** * Converts a string to Base64 encoding. * Works in both Node.js and browser environments. * @param str - The string to encode * @returns The Base64-encoded string */ private toBase64; } //# sourceMappingURL=request-builder.d.ts.map