UNPKG

@openziti/ziti-browzer-core

Version:

Core componentry for the Ziti browZer ecosystem (used internally by ziti-browzer-runtime and ziti-sdk-browzer)

1,422 lines (1,396 loc) 36.4 kB
import { Buffer } from 'buffer'; declare class ZitiSocket { constructor(opts: any); /** * */ isWebSocket: any; /** * This stream is where we'll put any data returned from a Ziti connection (see ziti_dial.data.call_back) */ readableZitiStream: ReadableStream<any>; /** * The underlying Ziti Context * @private * @type {string} */ private zitiContext; /** * The active HTTP request */ req: any; /** * The underlying Ziti Connection * @private * @type {string} */ private zitiConnection; /** * */ _writable: boolean; /** * */ _id: number; /** * Make a connection to the specified Ziti 'service'. We do this by invoking the ziti_dial() function in the Ziti NodeJS-SDK. * @param {*} service */ ziti_dial(service: any): Promise<any>; /** * Write data onto the underlying Ziti connection by invoking the ziti_write() function in the Ziti NodeJS-SDK. The * NodeJS-SDK expects incoming data to be of type Buffer. */ ziti_write(conn: any, buffer: any): Promise<any>; /** * */ captureResponseData(conn: any, data: any): void; /** * Connect to a Ziti service. */ connect(opts: any): Promise<void>; /** * */ _read(): void; read(): void; /** * */ destroy(): void; /** * */ destroy(): Promise<void>; /** * Returns a Promise that will resolve _only_ after a Ziti connection has been established for this instance of ZitiSocket. */ getZitiConnection(): Promise<any>; connAsHex(conn: any): string; /** * Implements the writeable stream method `_write` by pushing the data onto the underlying Ziti connection. * It is possible that this function is called before the Ziti connect has completed, so this function will (currently) * await Ziti connection establishment (as opposed to buffering the data). */ write(chunk: any, encoding: any, cb: any): Promise<void>; /** * */ cork(): void; uncork(): void; /** * */ pause(): void; resume(): void; /** * */ end(data: any, encoding: any, callback: any): Promise<void>; /** * Implements the writeable stream method `_final` used when .end() is called to write the final data to the stream. */ _final(cb: any): void; /** * */ setTimeout(): void; /** * */ setNoDelay(): void; /** * */ unshift(head: any): void; get writable(): any; } /** * Base HTTP "ZitiAgent" class. * */ declare class ZitiAgent { constructor(options: any); options: any; proxy: any; secure: boolean; defaultPort: number; /** * */ end(): void; /** * Creates and returns a `ZitiSocket` instance to use for an HTTP request. If * the serviceScheme is 'https', then the socket will also embed a `ZitiInnerTLSSocket` * instance to facilitate TLS traffic over/within the outer mTLS socket. * * @api public */ createConnection(opts: any, deferredFn: any): Promise<void>; deferredFn: any; socket: ZitiSocket; } declare class ZitiAgentPool { constructor(options: any); options: any; logger: any; ZitiAgent: typeof ZitiAgent; Promise: any; _zitiAgents: any[]; _idle: any[]; _expired: WeakSet<object>; _pendingQueue: any[]; _endCallback: any; ending: boolean; ended: boolean; _hasFive(): boolean; _isFull(): boolean; _pulseQueue(): Promise<void>; _remove(zitiAgent: any): void; connect(req: any, reqOptions: any, cb: any): Promise<any>; newZitiAgent(pendingItem: any): Promise<void>; _acquireZitiAgent(zitiAgent: any, pendingItem: any, idleListener: any, isNew: any): void; _releaseOnce(zitiAgent: any, idleListener: any): (err: any) => void; _release(zitiAgent: any, idleListener: any, err: any): void; query(text: any, values: any, cb: any): any; end(cb: any): any; get waitingCount(): number; get idleCount(): number; get expiredCount(): any; get totalCount(): number; } /** * ZitiEnroller */ declare class ZitiEnroller { /** * */ constructor(options: any); _zitiContext: any; logger: any; /** * */ initialize(): Promise<void>; /** * */ enroll(): Promise<boolean>; /** * */ generateCSR(wasmInstance: any): Promise<void>; _csr: any; /** * */ createEphemeralCert(): Promise<boolean>; _cas: any; _cert: any; _certExpiryTime: any; printEphemeralCert(): Promise<void>; /** * */ get casPEM(): any; /** * */ get certPEM(): any; /** * */ get certPEMExpiryTime(): any; } /** * Messages */ declare class Messages { /** * */ constructor(options: any); _items: Map<any, any>; _zitiContext: any; _conn: any; _channel: any; /** * Creates new message and stores it in the list. * * @param {String|Number} messageId * @param {Function} fn * @param {Number} timeout * @returns {Promise} */ create(conn: any, messageId: string | number, fn: Function, timeout: number): Promise<any>; resolve(conn: any, data: any): void; rejectAll(error: any): void; _rejectExistingMessage(messageId: any): void; _getNativePromise(): any; _createNewMessage(conn: any, messageId: any, fn: any, timeout: any): any; _deleteMessage(messageId: any, message: any): void; } /** * ZitiConnection */ declare class ZitiConnection { /** * */ constructor(options: any); _zitiContext: any; _data: any; _state: number; _timeout: any; _edgeMsgSeq: number; _id: any; _messages: Messages; get zitiContext(): any; get data(): any; get messages(): Messages; set state(state: number); get state(): number; get id(): any; get appData(): any; getAndIncrementSequence(): number; set socket(socket: any); get socket(): any; _socket: any; set dataCallback(fn: any); get dataCallback(): any; _dataCallback: any; set channel(channel: any); get channel(): any; _channel: any; set encrypted(encrypted: any); get encrypted(): any; _encrypted: any; set cryptoEstablishComplete(complete: any); get cryptoEstablishComplete(): any; _cryptoEstablishComplete: any; set keypair(keypair: any); get keypair(): any; _keypair: any; set sharedRx(sharedRx: any); get sharedRx(): any; _sharedRx: any; set sharedTx(sharedTx: any); get sharedTx(): any; _sharedTx: any; set crypt_o(crypt_o: any); get crypt_o(): any; _crypt_o: any; set crypt_i(crypt_i: any); get crypt_i(): any; _crypt_i: any; set networkSessionToken(networkSessionToken: any); get networkSessionToken(): any; _networkSessionToken: any; } /** * ZitiWebSocketWrapperCtor: * */ declare class ZitiWebSocketWrapperCtor { /** * Create a new `ZitiWebSocketWrapper`. * */ constructor(address: any, protocols: any, options: any); } /** * ZitiContext */ declare class ZitiContext { /** * */ constructor(options: any); _initialized: boolean; _initializedInnerWASM: boolean; _keyType: any; logger: any; controllerApi: any; updbUser: any; updbPswd: any; token_type: any; id_token: any; access_token: any; sdkType: any; sdkVersion: any; sdkBranch: any; sdkRevision: any; apiSessionHeartbeatTimeMin: any; apiSessionHeartbeatTimeMax: any; bootstrapperTargetService: any; bootstrapperHost: any; proxydomain: string; _libCrypto: any; _libCryptoInitialized: boolean; _network_sessions: Map<any, any>; _services: Map<any, any>; _channels: Map<any, any>; _channelsById: Map<any, any>; _wasmFDsById: Map<any, any>; /** * We start the channel id's at 10 so that they will be well above any 'fd' * used by traditional WebAssembly (i.e. stdin, stdout, stderr). In the WebAssembly * we have logic that watches for read/write operations to 'fd' values, and * any that target a 'fd' above 10 will route the i/o to the appropriate ZitiChannel|ZitiTLSSocket. */ _channelSeq: number; _wasmFDSeq: number; _connSeq: number; _ensureAPISessionMutex: any; _getNetworkSessionByServiceIdMutex: any; _getServiceNameByHostNameAndPortMutex: any; _isCertExpiredMutex: any; _connectMutexWithTimeout: any; _tlsHandshakeLock: any; _fetchSemaphoreHTTP: any; _fetchSemaphoreHTTPS: any; _pkey: any; _privateKeyPEM: any; _publicKeyPEM: any; _casPEM: any; _certPEM: any; _apiSession: any; _timeout: number; _didInitialGetPendingChannelConnects: boolean; _agentPool: ZitiAgentPool; controllerCapabilities: any[]; controllerCapabilitiesOIDCErrorEncountered: boolean; get libCrypto(): any; get timeout(): number; setKeyTypeEC(): void; setKeyTypeRSA(): void; /** * */ initialize(options: any): Promise<void>; _zitiBrowzerEdgeClient: any; targetService: any; targetServiceAppData: { dst_protocol: undefined; dst_port: any; }; targetServiceHost: string; targetServiceHostAndPort: string; _zitiEnroller: ZitiEnroller; /** * */ sdk_initialize_loadWASM(options: any): Promise<void>; /** * * @param {*} access_token */ setAccessToken(access_token: any): boolean; createEnroller(): void; printEphemeralCert(): Promise<void>; generateKeyPair(): Promise<any>; /** * Remain in lazy-sleepy loop until context is initialized. * * @param {*} ctx */ awaitInitializationComplete(): Promise<any>; /** * Remain in lazy-sleepy loop until we have the access token. * * @param {*} ctx */ awaitAccessTokenPresent(): Promise<any>; /** * */ getZitiAgentPool(): ZitiAgentPool; /** * */ getWASMInstance(): Promise<any>; /** * */ reInitialize(options: any): Promise<void>; /** * * @param {*} options * @returns ZitiContext */ createZitiBrowzerEdgeClient(options: any): any; /** * */ generateRSAKey(): any; /** * */ generateECKey(): Promise<any>; /** * */ getPrivateKeyPEM(pkey: any): any; /** * */ getPublicKeyPEM(pkey: any): any; /** * */ createCertificateSigningRequest(wasmInstance: any, { key, curve, compressed, version, name, }: { key?: any; curve?: any; compressed?: any; version?: number; name?: string; }): any; _csrPEM: any; /** * */ get_rsaKey(): Promise<any>; /** * */ get_ecKey(): Promise<any>; /** * */ get_pKey(): Promise<any>; /** * */ get_privateKeyPEM(): Promise<any>; /** * */ get_publicKeyPEM(): Promise<any>; /** * * @returns */ ssl_CTX_new(wasmInstance: any): Promise<any>; /** * * @returns */ ssl_CTX_add_private_key(wasmInstance: any, sslContext: any): Promise<any>; /** * * @returns */ ssl_CTX_add_certificate(wasmInstance: any, sslContext: any): Promise<any>; /** * * @returns */ ssl_CTX_verify_certificate_and_key(wasmInstance: any, sslContext: any): any; /** * */ bio_new_ssl_connect(wasmInstance: any, sslContext: any): any; /** * */ bio_get_ssl(wasmInstance: any, bio: any): any; /** * */ ssl_do_handshake(useLock: any, fd: any, wasmInstance: any, ssl: any): Promise<any>; ssl_is_init_finished(wasmInstance: any, ssl: any): any; /** * * @returns */ ssl_set_fd(wasmInstance: any, ssl: any, fd: any): any; /** * */ acquireTLSHandshakeLock(fd: any): Promise<void>; _tlsHandshakeLockRelease: any; _tlsHandshakeLockFD: any; releaseTLSHandshakeLock(fd: any): void; /** * * @param {*} wasmFD // id of socket * @param {*} arrayBuffer // ArrayBuffer */ tls_enqueue(wasmInstance: any, wasmFD: any, arrayBuffer: any): Promise<void>; /** * * @param {*} wasmFD // id of socket */ peekTLSData(wasmInstance: any, wasmFD: any): any; /** * */ tls_write(wasmInstance: any, ssl: any, wireData: any): Promise<any>; /** * */ tls_read(wasmInstance: any, ssl: any): Promise<any>; serializeQueryParams(parameters: any): string; /** * do_oidc_authorize * * Utilize Controller's HA OIDC endpoint to acquire an authID. * This code exists here, inline, instead of being in the zitiBrowzerEdgeClient, because the controller's * swagger spec doesn't include the new HA OIDC endpoint refs. */ do_oidc_authorize(codeChallange: any): any; /** * do_oidc_login_ext_jwt * * Utilize Controller's HA OIDC endpoint to authenticate. * This code exists here, inline, instead of being in the zitiBrowzerEdgeClient, because the controller's * swagger spec doesn't include the new HA OIDC endpoint refs. */ do_oidc_login_ext_jwt(parameters: any): Promise<any>; /** * do_oidc_authorize_callback * * Utilize Controller's HA OIDC endpoint to authenticate. * This code exists here, inline, instead of being in the zitiBrowzerEdgeClient, because the controller's * swagger spec doesn't include the new HA OIDC endpoint refs. */ do_oidc_authorize_callback(parameters: any): Promise<any>; /** * do_oidc_oauth_token * * Utilize Controller's HA OIDC endpoint to acquire an apiToken. * This code exists here, inline, instead of being in the zitiBrowzerEdgeClient, because the controller's * swagger spec doesn't include the new HA OIDC endpoint refs. */ do_oidc_oauth_token(parameters: any): Promise<any>; /** * do_oidc_token_refresh * * Utilize Controller's HA OIDC endpoint to acquire a refreshed apiToken. * This code exists here, inline, instead of being in the zitiBrowzerEdgeClient, because the controller's * swagger spec doesn't include the new HA OIDC endpoint refs. */ do_oidc_token_refresh(): Promise<any>; /** * */ doAuthenticate(token: any): any; delay(time: any): Promise<any>; /** * */ getAccessTokenEmail(): Promise<any>; /** * */ isControllerHA(): boolean; /** * */ getFreshAPISessionWithToken(token: any): Promise<boolean>; /** * */ getCurrentAPISession(): any; /** * */ setCurrentAPISession(apiSession: any): void; /** * */ getFreshAPISession(): Promise<any>; /** * */ ensureAPISession(): Promise<undefined>; /** * */ enroll(): Promise<boolean>; _certExpiryTime: any; _certPEMLeaf: any; _certPEMIntermediatesArray: any; /** * */ getCasPEM(): Promise<any>; /** * */ getCertPEM(): Promise<any>; /** * */ getCertPEMLeaf(): Promise<any>; /** * */ getCertPEMIntermediatesArray(): Promise<any>; /** * */ getCertPEMExpiryTime(): Promise<any>; /** * */ apiSessionHeartbeat(self: any): Promise<void>; /** * */ getApiSessionHeartbeatTime(): number; /** * Returns a random integer between min (inclusive) and max (inclusive). */ getRandomInt(min: any, max: any): any; /** * */ fetchServices(): Promise<Map<any, any>>; /** * */ listControllerVersion(): Promise<any>; _controllerVersion: any; get controllerVersion(): any; /** * */ listExternalJwtSigners(): Promise<any>; _externalJwtSigners: any; /** * */ getExternalJwtSignerScopesByClientId(clientId: any): any; get services(): Map<any, any>; /** * */ getServiceIdByName(name: any): any; /** * */ getServiceEncryptionRequiredByName(name: any): any; /** * */ getServiceConfigByName(name: any): Promise<any>; /** * */ getConfigHostByServiceName(name: any): Promise<string>; /** * */ getServiceNameByConfigHost(hostname: any): Promise<any>; /** * If scheme is 'https' then look for port 443. If 443 not found, * use portRange.low * * If scheme is 'http' then look for any port that is NOT 443 */ getPortByScheme(portRanges: any, scheme: any): any; getProtocol(protocolsArray: any): undefined; /** * */ getConnectAppDataByServiceName(name: any, scheme: any): Promise<{ dst_protocol: undefined; dst_port: any; }>; /** * */ getConfigHostAndPortByServiceName(name: any): Promise<{ host: any; port: any; }>; /** * */ getNetworkSessionByServiceId(serviceID: any): Promise<any>; memoized_getNetworkSessionByServiceId: any; /** * */ createNetworkSession(id: any): Promise<any>; /** * Allocate a new Connection. * * @param {*} data * @return {ZitiConnection} */ newConnection(data: any): ZitiConnection; _getNativePromise(): any; /** * Dial the `service`. * * @param {ZitiConnection} conn * @param {String} service */ dial(conn: ZitiConnection, service: string): Promise<any>; getEdgeRouterURL(edgeRouter: any): any; /** * Connect specified ZitiConnection to the nearest Edge Router. * * @param {Array} edgeRouters */ _getPendingChannelConnects(conn: any, edgeRouters: any[]): Promise<any[]>; /** * Remain in lazy-sleepy loop until specified channel is connected. * * @param {*} channel */ awaitChannelConnectComplete(ch: any): Promise<any>; getChannelByEdgeRouter(conn: any, edgeRouter: any): Promise<undefined>; /** * */ addWASMFD(socket: any): any; /** * */ findChannelByEdgeRouter(edgeRouter: any): {}; activeChannelCount(): number; /** * */ updateChannelsWithUpdatedToken(apiSessionToken: any): void; /** * Connect specified ZitiConnection to the nearest Edge Router. * * @param {ZitiConnection} conn * @param {*} networkSession */ connect(conn: ZitiConnection, networkSession: any): Promise<void>; /** * Determine if the given URL should be routed over Ziti. * * @param {*} url */ shouldRouteOverZiti(url: any): Promise<any>; memoized_shouldRouteOverZiti: any; shouldRouteOverZitiSync(url: any): any; /** * Determine if the given URL should be handled via CORS Proxy. * */ shouldRouteOverCORSProxy(url: any): boolean; /** * * @param {*} hostname * @param {*} port * @returns */ getServiceNameByHostName(hostname: any): Promise<any>; memoized_getServiceNameByHostName: any; /** * * @param {*} hostname * @param {*} port * @returns */ getServiceNameByHostNameAndPort(hostname: any, port: any): Promise<any>; memoized_getServiceNameByHostNameAndPort: any; /** "config": { "ziti-tunneler-client.v1": { "ziti-tunneler-client.v1": { "hostname": "example.com", "port": 443 } } } */ _getMatchConfigTunnelerClientV1: (config: any, hostname: any, port: any) => boolean; /** "config": { "intercept.v1": { "addresses": ["example.com"], "portRanges": [{ "high": 443, "low": 443 }], "protocols": ["tcp"] } } */ _getMatchConfigInterceptV1: (config: any, hostname: any, port: any) => boolean; /** * */ isCertExpired(): Promise<void>; /** * */ flushExpiredAPISessionData(): void; /** * */ getNextConnectionId(): number; /** * */ getNextChannelId(): number; /** * */ getNextWASMFDId(): number; closeChannelByEdgeRouter(edgeRouter: any): void; closeAllChannels(): void; get zitiWebSocketWrapper(): typeof ZitiWebSocketWrapperCtor; /** * Close specified ZitiConnection with Edge Router. * * @param {ZitiConnection} conn */ close(conn: ZitiConnection): Promise<void>; /** * */ truncateString(str: any, num: any): any; /** * * @param {*} options * @returns Response */ httpFetch(url: any, opts: any): Promise<any>; } /** * */ declare class ZitiBrowzerCore { /** * */ constructor(options?: {}); /** * */ createZitiContext(options: any): ZitiContext; _zitiContext: ZitiContext; /** * * @param {*} defaults * @returns ZitiContext */ createZitiContextWithDefaults(defaults: any): any; get context(): ZitiContext; /** * * @param {*} options * @returns ZitiLogger */ createZitiLogger(options: any): any; _zitiLogger: any; /** * * @returns ZitiLogger */ createZitiLoggerWithDefaults(): any; get logger(): any; } /** * Initialize a new `HttpHeaders`. * * @param Object headers Response headers * @api public */ declare function HttpHeaders(init?: any): any; declare class HttpHeaders { /** * Initialize a new `HttpHeaders`. * * @param Object headers Response headers * @api public */ constructor(init?: any); /** * Return combined header value given name * * @param String name Header name * @return Mixed */ get(name: any): any; /** * Iterate over all headers * * @param Function callback Executed for each item with parameters (value, name, thisArg) * @param Boolean thisArg `this` context for callback function * @return Void */ forEach(callback: any, thisArg?: any): void; /** * Overwrite header values given name * * @param String name Header name * @param String value Header value * @return Void */ set(name: any, value: any): void; /** * Append a value onto existing header * * @param String name Header name * @param String value Header value * @return Void */ append(name: any, value: any): void; /** * Check for header name existence * * @param String name Header name * @return Boolean */ has(name: any): boolean; /** * Delete all header values given name * * @param String name Header name * @return Void */ delete(name: any): void; /** * Return raw headers (non-spec api) * * @return Object */ raw(): any; /** * Get an iterator on keys. * * @return Iterator */ keys(): any; /** * Get an iterator on values. * * @return Iterator */ values(): any; /** * Get an iterator on entries. * * This is the default iterator of the HttpHeaders object. * * @return Iterator */ entries(): any; /** * Create a HttpHeaders object from an object of headers, ignoring those that do * not conform to HTTP grammar productions. * * @param Object obj Object of headers * @return HttpHeaders */ createHeadersLenient(obj: any): HttpHeaders; getAllHeaders(): any[]; [MAP]: any; } declare const MAP: unique symbol; /** * Initialize a new `ZitiHttpRequest`. * * @api public */ declare function ZitiHttpRequest(serviceNameOrConn: any, input: any, init: {}, zitiContext: any): any; declare class ZitiHttpRequest { /** * Initialize a new `ZitiHttpRequest`. * * @api public */ constructor(serviceNameOrConn: any, input: any, init: {}, zitiContext: any); getZitiContext(): any; getServiceName(): string; getServiceScheme(): any; getServiceConnectAppData(): any; getConn(): any; getMethod(): any; getHeaders(): HttpHeaders; getRedirect(): any; getParsedURL(): URL; getRequestOptions(): Promise<{ zitiContext: any; serviceName: string; serviceScheme: any; serviceConnectAppData: any; conn: any; method: any; headers: HttpHeaders; body: any; }>; [INTERNALS$1]: { serviceName: string; serviceScheme: any; serviceConnectAppData: any; conn: any; method: any; redirect: any; headers: HttpHeaders; parsedURL: URL; zitiContext: any; }; } declare const INTERNALS$1: unique symbol; /** * Initialize a new `HttpResponse`. * * @api public */ declare function HttpResponse(body?: any, opts?: {}): any; declare class HttpResponse { /** * Initialize a new `HttpResponse`. * * @api public */ constructor(body?: any, opts?: {}); [INTERNALS]: { url: any; status: any; headers: HttpHeaders; counter: any; }; } declare const INTERNALS: unique symbol; /** * Create readable "multipart/form-data" streams. * Can be used to submit forms * and file uploads to other web applications. * * @constructor * @param {Object} options - Properties to be added/overriden for ZitiFormData and CombinedStream */ declare function ZitiFormData(options: any): ZitiFormData; declare class ZitiFormData { /** * Create readable "multipart/form-data" streams. * Can be used to submit forms * and file uploads to other web applications. * * @constructor * @param {Object} options - Properties to be added/overriden for ZitiFormData and CombinedStream */ constructor(options: any); _overheadLength: number; _valueLength: number; _valuesToMeasure: any[]; _streams: any[]; append(field: any, value: any, options: any): void; _trackLength(header: any, value: any, options: any): void; _lengthRetriever(value: any, callback: any): void; _multiPartHeader(field: any, value: any, options: any): any; _getContentDisposition(value: any, options: any): string; _getContentType(value: any, options: any): any; _multiPartFooter(): any; _lastBoundary(): string; getHeaders(userHeaders: any): { 'content-type': string; }; setBoundary(boundary: any): void; _boundary: any; getBoundary(): any; getStream(): any; getBuffer(): Promise<any>; _generateBoundary(): void; getLengthSync(): number; hasKnownLength(): boolean; getLength(cb: any): void; _error(err: any): void; error: any; toString(): string; } declare namespace ZitiFormData { let LINE_BREAK: string; let DEFAULT_CONTENT_TYPE: string; } declare class BrowserStdout { constructor(opts: any); req: any; _write(chunk: any, encoding: any, cb: any): void; write(chunk: any, encoding: any, cb: any): void; end(): void; } declare function ClientRequest(input: any, options: any, cb: any): void; declare class ClientRequest { constructor(input: any, options: any, cb: any); socketPath: any; method: any; maxHeaderSize: any; path: any; domProxyHit: any; useChunkedEncodingByDefault: boolean; _ended: boolean; res: any; aborted: boolean; timeoutCb: any; upgradeOrConnect: boolean; parser: any; maxHeadersCount: any; reusedSocket: boolean; host: any; protocol: string; _last: boolean; shouldKeepAlive: boolean; _finish(): void; _implicitHeader(): void; abort(): void; destroy(err: any): this; destroyed: boolean; onSocket(socket: any, err: any): void; _deferToConnect: typeof _deferToConnect; setTimeout(msecs: any, callback: any): this; setNoDelay(noDelay: any): void; setSocketKeepAlive(enable: any, initialDelay: any): void; clearTimeout(cb: any): void; [kError]: any; } declare function _deferToConnect(method: any, arguments_: any, cb: any): void; declare const kError: unique symbol; declare class BufferList { constructor(options: any); head: any; tail: any; length: number; push(v: any): void; unshift(v: any): void; shift(): any; clear(): void; join(s: any): string; /** * @type {Buffer} * @return {Buffer} */ concat(n: any): Buffer; consume(n: any, hasStrings: any): any; first(): any; _getString(n: any): any; /** * @type {Buffer} * @return {Buffer} */ _getBuffer(n: any): Buffer; value(_: any, options: any): any; } /** * @extends {Stream} */ declare class Readable { constructor(options: any); _readableState: ReadableState; readable: boolean; _read(n: any): void; _destroy(err: any, cb: any): void; set destroyed(value: any); get destroyed(): any; destroy: any; _undestroy: any; push(chunk: any, encoding: any): boolean; unshift(chunk: any): boolean; readableAddChunk(stream: any, chunk: any, encoding: any, addToFront: any, skipChunkCheck: any): boolean; isPaused(): boolean; setEncoding(enc: any): this; read(n: any): any; pipe(dest: any, pipeOpts: any): any; unpipe(dest: any): this; on(ev: any, fn: any): any; addListener: (ev: any, fn: any) => any; removeListener(ev: any, fn: any): any; removeAllListeners(ev: any): any; resume(): this; pause(): this; wrap(stream: any): this; get readableHighWaterMark(): any; get readableBuffer(): any; set readableFlowing(state: any); get readableFlowing(): any; get readableLength(): any; ReadableState: typeof ReadableState; } declare function ReadableState(options: any, stream: any, isDuplex: any): void; declare class ReadableState { constructor(options: any, stream: any, isDuplex: any); objectMode: boolean; highWaterMark: number; buffer: BufferList; length: number; pipes: any; pipesCount: number; flowing: any; ended: boolean; endEmitted: boolean; reading: boolean; sync: boolean; needReadable: boolean; emittedReadable: boolean; readableListening: boolean; resumeScheduled: boolean; paused: boolean; emitClose: boolean; autoDestroy: boolean; destroyed: boolean; defaultEncoding: any; awaitDrain: number; readingMore: boolean; decoder: any; encoding: any; } declare class IncomingMessage extends Readable { socket: any; httpVersionMajor: any; httpVersionMinor: any; httpVersion: any; complete: boolean; headers: {}; rawHeaders: any[]; trailers: {}; rawTrailers: any[]; aborted: boolean; upgrade: any; url: string; method: any; statusCode: any; statusMessage: any; client: any; _consuming: boolean; _dumped: boolean; set connection(val: any); get connection(): any; setTimeout(msecs: any, callback: any): this; _addHeaderLines(headers: any, n: any): void; _addHeaderLine(field: any, value: any, dest: any): void; _dump(): void; } declare function validateHeaderName(name: any): void; declare function validateHeaderValue(name: any, value: any): void; declare function OutgoingMessage(): void; declare class OutgoingMessage { outputData: any[]; outputSize: number; writable: boolean; destroyed: boolean; _last: boolean; chunkedEncoding: boolean; shouldKeepAlive: boolean; useChunkedEncodingByDefault: boolean; sendDate: boolean; _removedConnection: boolean; _removedContLen: boolean; _removedTE: boolean; _contentLength: number; _hasBody: boolean; _trailer: string; finished: boolean; _headerSent: boolean; _closed: boolean; socket: any; _header: any; _keepAliveTimeout: number; _onPendingData: typeof noopPendingOutput; get writableFinished(): boolean; get writableObjectMode(): boolean; get writableLength(): any; get writableHighWaterMark(): any; get writableCorked(): any; set connection(value: any); get connection(): any; _renderHeaders(): {}; cork(): void; uncork(): void; setTimeout(msecs: any, callback: any): this; destroy(error: any): this; _send(data: any, encoding: any, callback: any): any; _writeRaw: typeof _writeRaw; _storeHeader: typeof _storeHeader; setHeader(name: any, value: any): void; getHeader(name: any): any; getHeaderNames(): string[]; getHeaders(): any; hasHeader(name: any): boolean; removeHeader(name: any): void; _implicitHeader(): never; get headersSent(): boolean; get writableEnded(): boolean; write(chunk: any, encoding: any, callback: any): any; addTrailers(headers: any): void; end(chunk: any, encoding: any, callback: any): this; _finish(): void; _flush(): void; _flushOutput(socket: any): any; flushHeaders(): void; pipe(): void; [kCorked]: number; } declare function noopPendingOutput(amount: any): void; declare function _writeRaw(data: any, encoding: any, callback: any): any; declare function _storeHeader(firstLine: any, headers: any): void; declare class _storeHeader { constructor(firstLine: any, headers: any); chunkedEncoding: boolean; shouldKeepAlive: boolean; _last: boolean; _header: string; _headerSent: boolean; } declare const kCorked: unique symbol; declare namespace http { export let METHODS: string[]; export { ClientRequest }; export { IncomingMessage }; export { OutgoingMessage }; export { validateHeaderName }; export { validateHeaderValue }; export { get }; export { request }; } declare function get(url: any, options: any, cb: any): ClientRequest; declare function request(url: any, options: any, cb: any): ClientRequest; declare namespace ZITI_CONSTANTS { let ZITI_JWT: string; let ZITI_CONTROLLER: string; let ZITI_CONTROLLER_WS: string; let ZITI_EXPIRY_TIME: string; let ZITI_IDENTITY_CERT: string; let ZITI_IDENTITY_PUBLIC_KEY_FILENAME: string; let ZITI_IDENTITY_PRIVATE_KEY_FILENAME: string; let ZITI_IDENTITY_PUBLIC_KEY_FILE_NOT_FOUND: string; let ZITI_IDENTITY_PRIVATE_KEY_FILE_NOT_FOUND: string; let ZITI_IDENTITY_KEYPAIR_FOUND: string; let ZITI_IDENTITY_KEYPAIR_OBTAIN_FROM_FS: string; let ZITI_IDENTITY_KEYPAIR_OBTAIN_FROM_IDB: string; let ZITI_IDENTITY_PUBLIC_KEY: string; let ZITI_IDENTITY_PRIVATE_KEY: string; let ZITI_IDENTITY_CA: string; let ZITI_SERVICES: string; let ZITI_API_SESSION_TOKEN: string; let ZITI_IDENTITY_USERNAME: string; let ZITI_IDENTITY_PASSWORD: string; let ZITI_NETWORK_SESSIONS: string; let ZITI_DEFAULT_TIMEOUT: number; let ZITI_EVENT_XGRESS: string; let ZITI_EVENT_XGRESS_TX: string; let ZITI_EVENT_XGRESS_RX: string; let ZITI_EVENT_INVALID_AUTH: string; let ZITI_EVENT_NO_SERVICE: string; let ZITI_EVENT_NO_CONFIG_FOR_SERVICE: string; let ZITI_EVENT_NO_CONFIG_FOR_HOSTNAME: string; let ZITI_EVENT_SESSION_CREATION_ERROR: string; let ZITI_EVENT_NO_WSS_ROUTERS: string; let ZITI_EVENT_IDP_AUTH_HEALTH: string; let ZITI_EVENT_CHANNEL_CONNECT_FAIL: string; let ZITI_EVENT_NESTED_TLS_HANDSHAKE_TIMEOUT: string; let ZITI_EVENT_NO_CONFIG_PROTOCOL_FOR_SERVICE: string; let ZITI_EVENT_WSS_ROUTER_CONNECTION_ERROR: string; let ZITI_EVENT_CONTROLLER_CONNECTION_ERROR: string; let ZITI_EVENT_DEPRECATION_ID_TOKEN: string; let ZITI_EVENT_ACCESS_TOKEN_REFRESHED: string; let ZITI_EVENT_XGRESS_RX_NESTED_TLS: string; let ZITI_HA_CONTROLLER: string; let ZITI_OIDC_AUTH: string; let ZITI_BOOTSTRAPPER_CONTROLLER_PROXY_PATH: string; } export { BrowserStdout, HttpResponse, ZITI_CONSTANTS, ZitiBrowzerCore, ZitiFormData, ZitiHttpRequest, http };