import { z } from 'zod'; import { WebSocket } from 'partysocket'; declare const RequestMesssage: z.ZodObject<{ type: z.ZodLiteral<"request">; id: z.ZodString; headers: z.ZodRecord; method: z.ZodString; url: z.ZodString; body: z.ZodString; https: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "request"; id: string; headers: Record; method: string; url: string; body: string; https?: boolean | undefined; }, { type: "request"; id: string; headers: Record; method: string; url: string; body: string; https?: boolean | undefined; }>; type RequestMessage = z.infer; declare const ResponseMessage: z.ZodObject<{ type: z.ZodLiteral<"response">; id: z.ZodString; status: z.ZodNumber; headers: z.ZodRecord; body: z.ZodString; }, "strip", z.ZodTypeAny, { type: "response"; status: number; id: string; headers: Record; body: string; }, { type: "response"; status: number; id: string; headers: Record; body: string; }>; type ResponseMessage = z.infer; declare const ClientMessages: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"response">; id: z.ZodString; status: z.ZodNumber; headers: z.ZodRecord; body: z.ZodString; }, "strip", z.ZodTypeAny, { type: "response"; status: number; id: string; headers: Record; body: string; }, { type: "response"; status: number; id: string; headers: Record; body: string; }>]>; declare const ServerMessages: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"request">; id: z.ZodString; headers: z.ZodRecord; method: z.ZodString; url: z.ZodString; body: z.ZodString; https: z.ZodOptional>; }, "strip", z.ZodTypeAny, { type: "request"; id: string; headers: Record; method: string; url: string; body: string; https?: boolean | undefined; }, { type: "request"; id: string; headers: Record; method: string; url: string; body: string; https?: boolean | undefined; }>]>; type ClientMessage = z.infer; type ServerMessage = z.infer; type RequestInfo = any; type RequestInit = any; declare function createRequestMessage(id: string, request: Request): Promise; declare class NtfrApiClient { private host; private apiKey; constructor(host: string, apiKey: string); createTunnel(): Promise; } type NtfrTunnelSocketOptions = { WebSocket?: any; connectionTimeout?: number; maxRetries?: number; }; type NtfrTunnelOptions = { verbose?: boolean; }; type StatusResponse = boolean | undefined; declare class NtfrTunnel { private url; private address; private https; private socketOptions; private options; socket?: WebSocket; constructor(url: string, address: string, https: boolean, socketOptions?: NtfrTunnelSocketOptions, options?: NtfrTunnelOptions); private log; get isConnected(): StatusResponse; get isConnecting(): StatusResponse; get isClosed(): StatusResponse; get isClosing(): StatusResponse; connect(): Promise; private handleRequest; private sendResponse; } export { type ClientMessage, ClientMessages, NtfrApiClient, NtfrTunnel, type NtfrTunnelOptions, type NtfrTunnelSocketOptions, type RequestInfo, type RequestInit, type RequestMessage, RequestMesssage, ResponseMessage, type ServerMessage, ServerMessages, createRequestMessage };