import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * The method of the request
 */
export declare enum Method {
    Get = "get",
    Post = "post",
    Put = "put",
    Delete = "delete",
    Patch = "patch"
}
/**
 * The method of the request
 */
export type MethodOpen = OpenEnum<typeof Method>;
export type ProxyRequestBody = {
    /**
     * The body of the request
     */
    body?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The headers to send in the request
     */
    headers?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The method of the request
     */
    method?: MethodOpen | null | undefined;
    /**
     * The path of the request including any query paramters
     */
    path?: string | null | undefined;
    /**
     * The base url of the request
     */
    url?: string | null | undefined;
};
/** @internal */
export declare const Method$inboundSchema: z.ZodType<MethodOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const Method$outboundSchema: z.ZodType<MethodOpen, z.ZodTypeDef, MethodOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Method$ {
    /** @deprecated use `Method$inboundSchema` instead. */
    const inboundSchema: z.ZodType<MethodOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `Method$outboundSchema` instead. */
    const outboundSchema: z.ZodType<MethodOpen, z.ZodTypeDef, MethodOpen>;
}
/** @internal */
export declare const ProxyRequestBody$inboundSchema: z.ZodType<ProxyRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type ProxyRequestBody$Outbound = {
    body?: {
        [k: string]: any;
    } | null | undefined;
    headers?: {
        [k: string]: any;
    } | null | undefined;
    method: string | null;
    path?: string | null | undefined;
    url?: string | null | undefined;
};
/** @internal */
export declare const ProxyRequestBody$outboundSchema: z.ZodType<ProxyRequestBody$Outbound, z.ZodTypeDef, ProxyRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace ProxyRequestBody$ {
    /** @deprecated use `ProxyRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<ProxyRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `ProxyRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<ProxyRequestBody$Outbound, z.ZodTypeDef, ProxyRequestBody>;
    /** @deprecated use `ProxyRequestBody$Outbound` instead. */
    type Outbound = ProxyRequestBody$Outbound;
}
export declare function proxyRequestBodyToJSON(proxyRequestBody: ProxyRequestBody): string;
export declare function proxyRequestBodyFromJSON(jsonString: string): SafeParseResult<ProxyRequestBody, SDKValidationError>;
//# sourceMappingURL=proxyrequestbody.d.ts.map