## API Report File for "node-libcurl"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { EventEmitter } from 'events';

// @public
export class Curl extends EventEmitter {
    constructor(cloneHandle?: EasyNativeBinding);
    protected chunks: Buffer[];
    // (undocumented)
    protected chunksLength: number;
    close(): void;
    // (undocumented)
    protected defaultHeaderFunction(chunk: Buffer, size: number, nmemb: number): number;
    // (undocumented)
    static defaultUserAgent: string;
    // (undocumented)
    protected defaultWriteFunction(chunk: Buffer, size: number, nmemb: number): number;
    disable(bitmask: CurlFeature): this;
    dupHandle(shouldCopyEventListeners?: boolean): Curl;
    enable(bitmask: CurlFeature): this;
    // (undocumented)
    protected features: CurlFeature;
    static getCount: () => number;
    getInfo(infoNameOrId: CurlInfoName): string | number | null;
    static getVersion: () => string;
    static getVersionInfo: () => import("./types").CurlVersionInfoNativeBindingObject;
    static getVersionInfoString: () => string;
    static globalCleanup: () => void;
    static globalInit: (flags: CurlGlobalInit) => number;
    // Warning: (ae-forgotten-export) The symbol "EasyNativeBinding" needs to be exported by the entry point index.d.ts
    protected handle: EasyNativeBinding;
    protected headerChunks: Buffer[];
    // (undocumented)
    protected headerChunksLength: number;
    static info: import("./generated/CurlInfo").CurlInfo;
    isRunning: boolean;
    // (undocumented)
    static isVersionGreaterOrEqualThan: (x: number, y: number, z?: number) => boolean;
    onEnd(): void;
    onError(error: Error, errorCode: CurlCode): void;
    static option: import("./generated/CurlOption").CurlOption;
    pause(bitmask: CurlPause): this;
    perform(): this;
    reset(): this;
    setProgressCallback(cb: ((dltotal: number, dlnow: number, ultotal: number, ulnow: number) => number) | null): this;
    upkeep(): this;
    static VERSION_NUM: number;
}

// @public
export interface Curl {
    // (undocumented)
    on(event: 'data', listener: (chunk: Buffer, curlInstance: Curl) => void): this;
    // (undocumented)
    on(event: 'error', listener: (error: Error, errorCode: CurlCode, curlInstance: Curl) => void): this;
    // (undocumented)
    on(event: 'end', listener: (status: number, data: string | Buffer, headers: Buffer | HeaderInfo[], curlInstance: Curl) => void): this;
    // (undocumented)
    on(event: string, listener: Function): this;
    // (undocumented)
    on(event: 'header', listener: (chunk: Buffer, curlInstance: Curl) => void): this;
    // Warning: (ae-forgotten-export) The symbol "DataCallbackOptions" needs to be exported by the entry point index.d.ts
    setOpt(option: DataCallbackOptions, value: ((data: Buffer, size: number, nmemb: number) => number) | null): this;
    // Warning: (ae-forgotten-export) The symbol "ProgressCallbackOptions" needs to be exported by the entry point index.d.ts
    setOpt(option: ProgressCallbackOptions, value: ((dltotal: number, dlnow: number, ultotal: number, ulnow: number) => number) | null): this;
    // Warning: (ae-forgotten-export) The symbol "StringListOptions" needs to be exported by the entry point index.d.ts
    setOpt(option: StringListOptions, value: string[] | null): this;
    setOpt(option: 'CHUNK_BGN_FUNCTION', value: ((fileInfo: FileInfo, remains: number) => number) | null): this;
    setOpt(option: 'CHUNK_END_FUNCTION', value: (() => number) | null): this;
    // Warning: (ae-forgotten-export) The symbol "SpecificOptions" needs to be exported by the entry point index.d.ts
    setOpt(option: Exclude<CurlOptionName, SpecificOptions>, value: string | number | boolean | null): this;
    setOpt(option: 'FNMATCH_FUNCTION', value: ((pattern: string, value: string) => number) | null): this;
    setOpt(option: 'SEEKFUNCTION', value: ((offset: number, origin: number) => number) | null): this;
    setOpt(option: 'TRAILERFUNCTION', value: (() => string[] | false) | null): this;
    // Warning: (ae-forgotten-export) The symbol "Share" needs to be exported by the entry point index.d.ts
    setOpt(option: 'SHARE', value: Share_2 | null): this;
    setOpt(option: 'HTTPPOST', value: HttpPostField[] | null): this;
    setOpt(option: 'GSSAPI_DELEGATION', value: CurlGssApi | null): this;
    setOpt(option: 'PROXY_SSL_OPTIONS', value: CurlSslOpt | null): this;
    setOpt(option: 'SSL_OPTIONS', value: CurlSslOpt | null): this;
    setOpt(option: 'DEBUGFUNCTION', value: ((type: number, data: Buffer) => void) | null): this;
}

// @public
export enum CurlAuth {
    // (undocumented)
    Any = -17,
    // (undocumented)
    AnySafe = -18,
    // (undocumented)
    Basic = 1,
    // (undocumented)
    Bearer = 64,
    // (undocumented)
    Digest = 2,
    // (undocumented)
    DigestIe = 16,
    GssApi = 4,
    GssNegotiate = 4,
    // (undocumented)
    Negotiate = 4,
    // (undocumented)
    None = 0,
    // (undocumented)
    Ntlm = 8,
    // (undocumented)
    NtlmWb = 32,
    // (undocumented)
    Only = 2147483648
}

// @public
export enum CurlChunk {
    // (undocumented)
    BgnFuncFail = 1,
    // (undocumented)
    BgnFuncOk = 0,
    // (undocumented)
    BgnFuncSkip = 2,
    // (undocumented)
    EndFuncFail = 1,
    // (undocumented)
    EndFuncOk = 0
}

// @public (undocumented)
export enum CurlCode {
    // (undocumented)
    CURLE_ABORTED_BY_CALLBACK = 42,
    // (undocumented)
    CURLE_AGAIN = 81,
    // (undocumented)
    CURLE_BAD_CONTENT_ENCODING = 61,
    // (undocumented)
    CURLE_BAD_DOWNLOAD_RESUME = 36,
    // (undocumented)
    CURLE_BAD_FUNCTION_ARGUMENT = 43,
    // (undocumented)
    CURLE_CHUNK_FAILED = 88,
    // (undocumented)
    CURLE_CONV_FAILED = 75,
    // (undocumented)
    CURLE_CONV_REQD = 76,
    // (undocumented)
    CURLE_COULDNT_CONNECT = 7,
    // (undocumented)
    CURLE_COULDNT_RESOLVE_HOST = 6,
    // (undocumented)
    CURLE_COULDNT_RESOLVE_PROXY = 5,
    // (undocumented)
    CURLE_FAILED_INIT = 2,
    // (undocumented)
    CURLE_FILE_COULDNT_READ_FILE = 37,
    // (undocumented)
    CURLE_FILESIZE_EXCEEDED = 63,
    // (undocumented)
    CURLE_FTP_ACCEPT_FAILED = 10,
    // (undocumented)
    CURLE_FTP_ACCEPT_TIMEOUT = 12,
    // (undocumented)
    CURLE_FTP_ACCESS_DENIED = 9,
    // (undocumented)
    CURLE_FTP_BAD_DOWNLOAD_RESUME = 36,
    // (undocumented)
    CURLE_FTP_BAD_FILE_LIST = 87,
    // (undocumented)
    CURLE_FTP_CANT_GET_HOST = 15,
    // (undocumented)
    CURLE_FTP_COULDNT_RETR_FILE = 19,
    // (undocumented)
    CURLE_FTP_COULDNT_SET_BINARY = 17,
    // (undocumented)
    CURLE_FTP_COULDNT_SET_TYPE = 17,
    // (undocumented)
    CURLE_FTP_COULDNT_STOR_FILE = 25,
    // (undocumented)
    CURLE_FTP_COULDNT_USE_REST = 31,
    // (undocumented)
    CURLE_FTP_PARTIAL_FILE = 18,
    // (undocumented)
    CURLE_FTP_PORT_FAILED = 30,
    // (undocumented)
    CURLE_FTP_PRET_FAILED = 84,
    // (undocumented)
    CURLE_FTP_QUOTE_ERROR = 21,
    // (undocumented)
    CURLE_FTP_SSL_FAILED = 64,
    // (undocumented)
    CURLE_FTP_WEIRD_227_FORMAT = 14,
    // (undocumented)
    CURLE_FTP_WEIRD_PASS_REPLY = 11,
    // (undocumented)
    CURLE_FTP_WEIRD_PASV_REPLY = 13,
    // (undocumented)
    CURLE_FTP_WEIRD_SERVER_REPLY = 8,
    // (undocumented)
    CURLE_FUNCTION_NOT_FOUND = 41,
    // (undocumented)
    CURLE_GOT_NOTHING = 52,
    // (undocumented)
    CURLE_HTTP2 = 16,
    // (undocumented)
    CURLE_HTTP2_STREAM = 92,
    // (undocumented)
    CURLE_HTTP_NOT_FOUND = 22,
    // (undocumented)
    CURLE_HTTP_PORT_FAILED = 45,
    // (undocumented)
    CURLE_HTTP_POST_ERROR = 34,
    // (undocumented)
    CURLE_HTTP_RANGE_ERROR = 33,
    // (undocumented)
    CURLE_HTTP_RETURNED_ERROR = 22,
    // (undocumented)
    CURLE_INTERFACE_FAILED = 45,
    // (undocumented)
    CURLE_LAST = 94,
    // (undocumented)
    CURLE_LDAP_CANNOT_BIND = 38,
    // (undocumented)
    CURLE_LDAP_INVALID_URL = 62,
    // (undocumented)
    CURLE_LDAP_SEARCH_FAILED = 39,
    // (undocumented)
    CURLE_LOGIN_DENIED = 67,
    // (undocumented)
    CURLE_NO_CONNECTION_AVAILABLE = 89,
    // (undocumented)
    CURLE_NOT_BUILT_IN = 4,
    // (undocumented)
    CURLE_OBSOLETE20 = 20,
    // (undocumented)
    CURLE_OBSOLETE24 = 24,
    // (undocumented)
    CURLE_OBSOLETE29 = 29,
    // (undocumented)
    CURLE_OBSOLETE32 = 32,
    // (undocumented)
    CURLE_OBSOLETE40 = 40,
    // (undocumented)
    CURLE_OBSOLETE44 = 44,
    // (undocumented)
    CURLE_OBSOLETE46 = 46,
    // (undocumented)
    CURLE_OBSOLETE50 = 50,
    // (undocumented)
    CURLE_OBSOLETE51 = 51,
    // (undocumented)
    CURLE_OBSOLETE57 = 57,
    // (undocumented)
    CURLE_OK = 0,
    // (undocumented)
    CURLE_OPERATION_TIMEDOUT = 28,
    // (undocumented)
    CURLE_OPERATION_TIMEOUTED = 28,
    // (undocumented)
    CURLE_OUT_OF_MEMORY = 27,
    // (undocumented)
    CURLE_PARTIAL_FILE = 18,
    // (undocumented)
    CURLE_PEER_FAILED_VERIFICATION = 60,
    // (undocumented)
    CURLE_QUOTE_ERROR = 21,
    // (undocumented)
    CURLE_RANGE_ERROR = 33,
    // (undocumented)
    CURLE_READ_ERROR = 26,
    // (undocumented)
    CURLE_RECURSIVE_API_CALL = 93,
    // (undocumented)
    CURLE_RECV_ERROR = 56,
    // (undocumented)
    CURLE_REMOTE_ACCESS_DENIED = 9,
    // (undocumented)
    CURLE_REMOTE_DISK_FULL = 70,
    // (undocumented)
    CURLE_REMOTE_FILE_EXISTS = 73,
    // (undocumented)
    CURLE_REMOTE_FILE_NOT_FOUND = 78,
    // (undocumented)
    CURLE_RTSP_CSEQ_ERROR = 85,
    // (undocumented)
    CURLE_RTSP_SESSION_ERROR = 86,
    // (undocumented)
    CURLE_SEND_ERROR = 55,
    // (undocumented)
    CURLE_SEND_FAIL_REWIND = 65,
    // (undocumented)
    CURLE_SSH = 79,
    // (undocumented)
    CURLE_SSL_CACERT = 60,
    // (undocumented)
    CURLE_SSL_CACERT_BADFILE = 77,
    // (undocumented)
    CURLE_SSL_CERTPROBLEM = 58,
    // (undocumented)
    CURLE_SSL_CIPHER = 59,
    // (undocumented)
    CURLE_SSL_CONNECT_ERROR = 35,
    // (undocumented)
    CURLE_SSL_CRL_BADFILE = 82,
    // (undocumented)
    CURLE_SSL_ENGINE_INITFAILED = 66,
    // (undocumented)
    CURLE_SSL_ENGINE_NOTFOUND = 53,
    // (undocumented)
    CURLE_SSL_ENGINE_SETFAILED = 54,
    // (undocumented)
    CURLE_SSL_INVALIDCERTSTATUS = 91,
    // (undocumented)
    CURLE_SSL_ISSUER_ERROR = 83,
    // (undocumented)
    CURLE_SSL_PEER_CERTIFICATE = 60,
    // (undocumented)
    CURLE_SSL_PINNEDPUBKEYNOTMATCH = 90,
    // (undocumented)
    CURLE_SSL_SHUTDOWN_FAILED = 80,
    // (undocumented)
    CURLE_TELNET_OPTION_SYNTAX = 49,
    // (undocumented)
    CURLE_TFTP_DISKFULL = 70,
    // (undocumented)
    CURLE_TFTP_EXISTS = 73,
    // (undocumented)
    CURLE_TFTP_ILLEGAL = 71,
    // (undocumented)
    CURLE_TFTP_NOSUCHUSER = 74,
    // (undocumented)
    CURLE_TFTP_NOTFOUND = 68,
    // (undocumented)
    CURLE_TFTP_PERM = 69,
    // (undocumented)
    CURLE_TFTP_UNKNOWNID = 72,
    // (undocumented)
    CURLE_TOO_MANY_REDIRECTS = 47,
    // (undocumented)
    CURLE_UNKNOWN_OPTION = 48,
    // (undocumented)
    CURLE_UNKNOWN_TELNET_OPTION = 48,
    // (undocumented)
    CURLE_UNSUPPORTED_PROTOCOL = 1,
    // (undocumented)
    CURLE_UPLOAD_FAILED = 25,
    // (undocumented)
    CURLE_URL_MALFORMAT = 3,
    // (undocumented)
    CURLE_USE_SSL_FAILED = 64,
    // (undocumented)
    CURLE_WEIRD_SERVER_REPLY = 8,
    // (undocumented)
    CURLE_WRITE_ERROR = 23
}

// @public (undocumented)
export enum CurlFeature {
    NoDataParsing = 1,
    NoDataStorage = 4,
    NoHeaderParsing = 2,
    NoHeaderStorage = 8,
    NoStorage = 12,
    Raw = 3
}

// @public
export enum CurlFileType {
    // (undocumented)
    DeviceBlock = 3,
    // (undocumented)
    DeviceChar = 4,
    // (undocumented)
    Directory = 1,
    // (undocumented)
    Door = 7,
    // (undocumented)
    File = 0,
    // (undocumented)
    NamedPipe = 5,
    // (undocumented)
    Socket = 6,
    // (undocumented)
    Symlink = 2
}

// @public
export enum CurlFnMatchFunc {
    // (undocumented)
    Fail = 2,
    // (undocumented)
    Match = 0,
    // (undocumented)
    NoMatch = 1
}

// @public
export enum CurlFtpAuth {
    // (undocumented)
    Default = 0,
    // (undocumented)
    Ssl = 1,
    // (undocumented)
    Tls = 2
}

// @public
export enum CurlFtpMethod {
    DEFAULT = 0,
    MULTICWD = 1,
    NOCWD = 2,
    SINGLECWD = 3
}

// @public
export enum CurlFtpSsl {
    CccActive = 2,
    CccNone = 0,
    CccPassive = 1
}

// @public (undocumented)
export const enum CurlGlobalInit {
    // (undocumented)
    AckEintr = 4,
    // (undocumented)
    All = 3,
    // (undocumented)
    Default = 3,
    // (undocumented)
    Nothing = 0,
    // (undocumented)
    Ssl = 1,
    // (undocumented)
    Win32 = 2
}

// @public
export enum CurlGssApi {
    DelegationFlag = 2,
    None = 0,
    PolicyFlag = 1
}

// @public
export enum CurlHeader {
    // (undocumented)
    Separate = 1,
    // (undocumented)
    Unified = 0
}

// @public
export enum CurlHttpVersion {
    None = 0,
    // (undocumented)
    V1_0 = 1,
    // (undocumented)
    V1_1 = 2,
    // (undocumented)
    V2_0 = 3,
    V2PriorKnowledge = 5,
    V2Tls = 4
}

// @public (undocumented)
export interface CurlInfo {
    readonly ACTIVESOCKET: 'ACTIVESOCKET';
    readonly APPCONNECT: 'APPCONNECT';
    readonly APPCONNECT_TIME: 'APPCONNECT_TIME';
    readonly APPCONNECT_TIME_T: 'APPCONNECT_TIME_T';
    readonly CERTINFO: 'CERTINFO';
    readonly CONDITION_UNMET: 'CONDITION_UNMET';
    readonly CONNECT: 'CONNECT';
    readonly CONNECT_TIME: 'CONNECT_TIME';
    readonly CONNECT_TIME_T: 'CONNECT_TIME_T';
    readonly CONTENT_LENGTH_DOWNLOAD: 'CONTENT_LENGTH_DOWNLOAD';
    readonly CONTENT_LENGTH_DOWNLOAD_T: 'CONTENT_LENGTH_DOWNLOAD_T';
    readonly CONTENT_LENGTH_UPLOAD: 'CONTENT_LENGTH_UPLOAD';
    readonly CONTENT_LENGTH_UPLOAD_T: 'CONTENT_LENGTH_UPLOAD_T';
    readonly CONTENT_TYPE: 'CONTENT_TYPE';
    readonly COOKIELIST: 'COOKIELIST';
    readonly EFFECTIVE_URL: 'EFFECTIVE_URL';
    readonly FILETIME: 'FILETIME';
    readonly FILETIME_T: 'FILETIME_T';
    readonly FTP_ENTRY_PATH: 'FTP_ENTRY_PATH';
    readonly HEADER_SIZE: 'HEADER_SIZE';
    readonly HTTP_CONNECTCODE: 'HTTP_CONNECTCODE';
    readonly HTTP_VERSION: 'HTTP_VERSION';
    readonly HTTPAUTH_AVAIL: 'HTTPAUTH_AVAIL';
    readonly LASTSOCKET: 'LASTSOCKET';
    readonly LOCAL_IP: 'LOCAL_IP';
    readonly LOCAL_PORT: 'LOCAL_PORT';
    readonly NAMELOOKUP: 'NAMELOOKUP';
    readonly NAMELOOKUP_TIME: 'NAMELOOKUP_TIME';
    readonly NAMELOOKUP_TIME_T: 'NAMELOOKUP_TIME_T';
    readonly NUM_CONNECTS: 'NUM_CONNECTS';
    readonly OS_ERRNO: 'OS_ERRNO';
    readonly PRETRANSFER: 'PRETRANSFER';
    readonly PRETRANSFER_TIME: 'PRETRANSFER_TIME';
    readonly PRETRANSFER_TIME_T: 'PRETRANSFER_TIME_T';
    readonly PRIMARY_IP: 'PRIMARY_IP';
    readonly PRIMARY_PORT: 'PRIMARY_PORT';
    readonly PRIVATE: 'PRIVATE';
    readonly PROTOCOL: 'PROTOCOL';
    readonly PROXY_SSL_VERIFYRESULT: 'PROXY_SSL_VERIFYRESULT';
    readonly PROXYAUTH_AVAIL: 'PROXYAUTH_AVAIL';
    readonly REDIRECT: 'REDIRECT';
    readonly REDIRECT_COUNT: 'REDIRECT_COUNT';
    readonly REDIRECT_TIME: 'REDIRECT_TIME';
    readonly REDIRECT_TIME_T: 'REDIRECT_TIME_T';
    readonly REDIRECT_URL: 'REDIRECT_URL';
    readonly REQUEST_SIZE: 'REQUEST_SIZE';
    readonly RESPONSE_CODE: 'RESPONSE_CODE';
    readonly RTSP_CLIENT_CSEQ: 'RTSP_CLIENT_CSEQ';
    readonly RTSP_CSEQ_RECV: 'RTSP_CSEQ_RECV';
    readonly RTSP_SERVER_CSEQ: 'RTSP_SERVER_CSEQ';
    readonly RTSP_SESSION_ID: 'RTSP_SESSION_ID';
    readonly SCHEME: 'SCHEME';
    readonly SIZE_DOWNLOAD: 'SIZE_DOWNLOAD';
    readonly SIZE_DOWNLOAD_T: 'SIZE_DOWNLOAD_T';
    readonly SIZE_UPLOAD: 'SIZE_UPLOAD';
    readonly SIZE_UPLOAD_T: 'SIZE_UPLOAD_T';
    readonly SPEED_DOWNLOAD: 'SPEED_DOWNLOAD';
    readonly SPEED_DOWNLOAD_T: 'SPEED_DOWNLOAD_T';
    readonly SPEED_UPLOAD: 'SPEED_UPLOAD';
    readonly SPEED_UPLOAD_T: 'SPEED_UPLOAD_T';
    readonly SSL_ENGINES: 'SSL_ENGINES';
    readonly SSL_VERIFYRESULT: 'SSL_VERIFYRESULT';
    readonly STARTTRANSFER: 'STARTTRANSFER';
    readonly STARTTRANSFER_TIME: 'STARTTRANSFER_TIME';
    readonly STARTTRANSFER_TIME_T: 'STARTTRANSFER_TIME_T';
    readonly TLS_SESSION: 'TLS_SESSION';
    readonly TLS_SSL_PTR: 'TLS_SSL_PTR';
    readonly TOTAL: 'TOTAL';
    readonly TOTAL_TIME: 'TOTAL_TIME';
    readonly TOTAL_TIME_T: 'TOTAL_TIME_T';
}

// @public
export enum CurlInfoDebug {
    // (undocumented)
    DataIn = 3,
    // (undocumented)
    DataOut = 4,
    // (undocumented)
    HeaderIn = 1,
    // (undocumented)
    HeaderOut = 2,
    // (undocumented)
    SslDataIn = 5,
    // (undocumented)
    SslDataOut = 6,
    // (undocumented)
    Text = 0
}

// @public (undocumented)
export type CurlInfoName = 'ACTIVESOCKET' | 'APPCONNECT' | 'APPCONNECT_TIME' | 'APPCONNECT_TIME_T' | 'CERTINFO' | 'CONDITION_UNMET' | 'CONNECT' | 'CONNECT_TIME' | 'CONNECT_TIME_T' | 'CONTENT_LENGTH_DOWNLOAD' | 'CONTENT_LENGTH_DOWNLOAD_T' | 'CONTENT_LENGTH_UPLOAD' | 'CONTENT_LENGTH_UPLOAD_T' | 'CONTENT_TYPE' | 'COOKIELIST' | 'EFFECTIVE_URL' | 'FILETIME' | 'FILETIME_T' | 'FTP_ENTRY_PATH' | 'HEADER_SIZE' | 'HTTP_CONNECTCODE' | 'HTTP_VERSION' | 'HTTPAUTH_AVAIL' | 'LASTSOCKET' | 'LOCAL_IP' | 'LOCAL_PORT' | 'NAMELOOKUP' | 'NAMELOOKUP_TIME' | 'NAMELOOKUP_TIME_T' | 'NUM_CONNECTS' | 'OS_ERRNO' | 'PRETRANSFER' | 'PRETRANSFER_TIME' | 'PRETRANSFER_TIME_T' | 'PRIMARY_IP' | 'PRIMARY_PORT' | 'PRIVATE' | 'PROTOCOL' | 'PROXY_SSL_VERIFYRESULT' | 'PROXYAUTH_AVAIL' | 'REDIRECT' | 'REDIRECT_COUNT' | 'REDIRECT_TIME' | 'REDIRECT_TIME_T' | 'REDIRECT_URL' | 'REQUEST_SIZE' | 'RESPONSE_CODE' | 'RTSP_CLIENT_CSEQ' | 'RTSP_CSEQ_RECV' | 'RTSP_SERVER_CSEQ' | 'RTSP_SESSION_ID' | 'SCHEME' | 'SIZE_DOWNLOAD' | 'SIZE_DOWNLOAD_T' | 'SIZE_UPLOAD' | 'SIZE_UPLOAD_T' | 'SPEED_DOWNLOAD' | 'SPEED_DOWNLOAD_T' | 'SPEED_UPLOAD' | 'SPEED_UPLOAD_T' | 'SSL_ENGINES' | 'SSL_VERIFYRESULT' | 'STARTTRANSFER' | 'STARTTRANSFER_TIME' | 'STARTTRANSFER_TIME_T' | 'TLS_SESSION' | 'TLS_SSL_PTR' | 'TOTAL' | 'TOTAL_TIME' | 'TOTAL_TIME_T';

// @public
export enum CurlIpResolve {
    // (undocumented)
    V4 = 1,
    // (undocumented)
    V6 = 2,
    // (undocumented)
    Whatever = 0
}

// @public (undocumented)
export enum CurlMultiCode {
    // (undocumented)
    CURLM_ADDED_ALREADY = 7,
    // (undocumented)
    CURLM_BAD_EASY_HANDLE = 2,
    // (undocumented)
    CURLM_BAD_HANDLE = 1,
    // (undocumented)
    CURLM_BAD_SOCKET = 5,
    // (undocumented)
    CURLM_CALL_MULTI_PERFORM = -1,
    // (undocumented)
    CURLM_CALL_MULTI_SOCKET = -1,
    // (undocumented)
    CURLM_INTERNAL_ERROR = 4,
    // (undocumented)
    CURLM_LAST = 9,
    // (undocumented)
    CURLM_OK = 0,
    // (undocumented)
    CURLM_OUT_OF_MEMORY = 3,
    // (undocumented)
    CURLM_RECURSIVE_API_CALL = 8,
    // (undocumented)
    CURLM_UNKNOWN_OPTION = 6
}

// @public
export enum CurlNetrc {
    Ignored = 0,
    Optional = 1,
    Required = 2
}

// @public (undocumented)
export interface CurlOption {
    readonly ABSTRACT_UNIX_SOCKET: 'ABSTRACT_UNIX_SOCKET';
    readonly ACCEPT_ENCODING: 'ACCEPT_ENCODING';
    readonly ACCEPTTIMEOUT_MS: 'ACCEPTTIMEOUT_MS';
    readonly ADDRESS_SCOPE: 'ADDRESS_SCOPE';
    readonly ALTSVC: 'ALTSVC';
    readonly ALTSVC_CTRL: 'ALTSVC_CTRL';
    readonly APPEND: 'APPEND';
    readonly AUTOREFERER: 'AUTOREFERER';
    readonly BUFFERSIZE: 'BUFFERSIZE';
    readonly CAINFO: 'CAINFO';
    readonly CAPATH: 'CAPATH';
    readonly CERTINFO: 'CERTINFO';
    readonly CHUNK_BGN_FUNCTION: 'CHUNK_BGN_FUNCTION';
    readonly CHUNK_END_FUNCTION: 'CHUNK_END_FUNCTION';
    readonly CONNECT_ONLY: 'CONNECT_ONLY';
    readonly CONNECT_TO: 'CONNECT_TO';
    readonly CONNECTTIMEOUT: 'CONNECTTIMEOUT';
    readonly CONNECTTIMEOUT_MS: 'CONNECTTIMEOUT_MS';
    readonly COOKIE: 'COOKIE';
    readonly COOKIEFILE: 'COOKIEFILE';
    readonly COOKIEJAR: 'COOKIEJAR';
    readonly COOKIELIST: 'COOKIELIST';
    readonly COOKIESESSION: 'COOKIESESSION';
    readonly CRLF: 'CRLF';
    readonly CRLFILE: 'CRLFILE';
    readonly CUSTOMREQUEST: 'CUSTOMREQUEST';
    readonly DEBUGFUNCTION: 'DEBUGFUNCTION';
    readonly DEFAULT_PROTOCOL: 'DEFAULT_PROTOCOL';
    readonly DIRLISTONLY: 'DIRLISTONLY';
    readonly DISALLOW_USERNAME_IN_URL: 'DISALLOW_USERNAME_IN_URL';
    readonly DNS_CACHE_TIMEOUT: 'DNS_CACHE_TIMEOUT';
    readonly DNS_INTERFACE: 'DNS_INTERFACE';
    readonly DNS_LOCAL_IP4: 'DNS_LOCAL_IP4';
    readonly DNS_LOCAL_IP6: 'DNS_LOCAL_IP6';
    readonly DNS_SERVERS: 'DNS_SERVERS';
    readonly DNS_SHUFFLE_ADDRESSES: 'DNS_SHUFFLE_ADDRESSES';
    readonly DNS_USE_GLOBAL_CACHE: 'DNS_USE_GLOBAL_CACHE';
    readonly DOH_URL: 'DOH_URL';
    readonly EGDSOCKET: 'EGDSOCKET';
    readonly EXPECT_100_TIMEOUT_MS: 'EXPECT_100_TIMEOUT_MS';
    readonly FAILONERROR: 'FAILONERROR';
    readonly FILETIME: 'FILETIME';
    readonly FNMATCH_FUNCTION: 'FNMATCH_FUNCTION';
    readonly FOLLOWLOCATION: 'FOLLOWLOCATION';
    readonly FORBID_REUSE: 'FORBID_REUSE';
    readonly FRESH_CONNECT: 'FRESH_CONNECT';
    readonly FTP_ACCOUNT: 'FTP_ACCOUNT';
    readonly FTP_ALTERNATIVE_TO_USER: 'FTP_ALTERNATIVE_TO_USER';
    readonly FTP_CREATE_MISSING_DIRS: 'FTP_CREATE_MISSING_DIRS';
    readonly FTP_FILEMETHOD: 'FTP_FILEMETHOD';
    readonly FTP_RESPONSE_TIMEOUT: 'FTP_RESPONSE_TIMEOUT';
    readonly FTP_SKIP_PASV_IP: 'FTP_SKIP_PASV_IP';
    readonly FTP_SSL_CCC: 'FTP_SSL_CCC';
    readonly FTP_USE_EPRT: 'FTP_USE_EPRT';
    readonly FTP_USE_EPSV: 'FTP_USE_EPSV';
    readonly FTP_USE_PRET: 'FTP_USE_PRET';
    readonly FTPPORT: 'FTPPORT';
    readonly FTPSSLAUTH: 'FTPSSLAUTH';
    readonly GSSAPI_DELEGATION: 'GSSAPI_DELEGATION';
    readonly HAPPY_EYEBALLS_TIMEOUT_MS: 'HAPPY_EYEBALLS_TIMEOUT_MS';
    readonly HAPROXYPROTOCOL: 'HAPROXYPROTOCOL';
    readonly HEADER: 'HEADER';
    readonly HEADERFUNCTION: 'HEADERFUNCTION';
    readonly HEADEROPT: 'HEADEROPT';
    readonly HTTP09_ALLOWED: 'HTTP09_ALLOWED';
    readonly HTTP200ALIASES: 'HTTP200ALIASES';
    readonly HTTP_CONTENT_DECODING: 'HTTP_CONTENT_DECODING';
    readonly HTTP_TRANSFER_DECODING: 'HTTP_TRANSFER_DECODING';
    readonly HTTP_VERSION: 'HTTP_VERSION';
    readonly HTTPAUTH: 'HTTPAUTH';
    readonly HTTPGET: 'HTTPGET';
    readonly HTTPHEADER: 'HTTPHEADER';
    readonly HTTPPOST: 'HTTPPOST';
    readonly HTTPPROXYTUNNEL: 'HTTPPROXYTUNNEL';
    readonly IGNORE_CONTENT_LENGTH: 'IGNORE_CONTENT_LENGTH';
    readonly INFILESIZE: 'INFILESIZE';
    readonly INFILESIZE_LARGE: 'INFILESIZE_LARGE';
    readonly INTERFACE: 'INTERFACE';
    readonly IPRESOLVE: 'IPRESOLVE';
    readonly ISSUERCERT: 'ISSUERCERT';
    readonly KEEP_SENDING_ON_ERROR: 'KEEP_SENDING_ON_ERROR';
    readonly KEYPASSWD: 'KEYPASSWD';
    readonly KRBLEVEL: 'KRBLEVEL';
    readonly LOCALPORT: 'LOCALPORT';
    readonly LOCALPORTRANGE: 'LOCALPORTRANGE';
    readonly LOGIN_OPTIONS: 'LOGIN_OPTIONS';
    readonly LOW_SPEED_LIMIT: 'LOW_SPEED_LIMIT';
    readonly LOW_SPEED_TIME: 'LOW_SPEED_TIME';
    readonly MAIL_AUTH: 'MAIL_AUTH';
    readonly MAIL_FROM: 'MAIL_FROM';
    readonly MAIL_RCPT: 'MAIL_RCPT';
    readonly MAX_RECV_SPEED_LARGE: 'MAX_RECV_SPEED_LARGE';
    readonly MAX_SEND_SPEED_LARGE: 'MAX_SEND_SPEED_LARGE';
    readonly MAXAGE_CONN: 'MAXAGE_CONN';
    readonly MAXCONNECTS: 'MAXCONNECTS';
    readonly MAXFILESIZE: 'MAXFILESIZE';
    readonly MAXFILESIZE_LARGE: 'MAXFILESIZE_LARGE';
    readonly MAXREDIRS: 'MAXREDIRS';
    readonly MIMEPOST: 'MIMEPOST';
    readonly NETRC: 'NETRC';
    readonly NETRC_FILE: 'NETRC_FILE';
    readonly NEW_DIRECTORY_PERMS: 'NEW_DIRECTORY_PERMS';
    readonly NEW_FILE_PERMS: 'NEW_FILE_PERMS';
    readonly NOBODY: 'NOBODY';
    readonly NOPROGRESS: 'NOPROGRESS';
    readonly NOPROXY: 'NOPROXY';
    readonly NOSIGNAL: 'NOSIGNAL';
    readonly PASSWORD: 'PASSWORD';
    readonly PATH_AS_IS: 'PATH_AS_IS';
    readonly PINNEDPUBLICKEY: 'PINNEDPUBLICKEY';
    readonly PIPEWAIT: 'PIPEWAIT';
    readonly PORT: 'PORT';
    readonly POST: 'POST';
    readonly POSTFIELDS: 'POSTFIELDS';
    readonly POSTFIELDSIZE: 'POSTFIELDSIZE';
    readonly POSTFIELDSIZE_LARGE: 'POSTFIELDSIZE_LARGE';
    readonly POSTQUOTE: 'POSTQUOTE';
    readonly POSTREDIR: 'POSTREDIR';
    readonly PRE_PROXY: 'PRE_PROXY';
    readonly PREQUOTE: 'PREQUOTE';
    readonly PROGRESSFUNCTION: 'PROGRESSFUNCTION';
    readonly PROTOCOLS: 'PROTOCOLS';
    readonly PROXY: 'PROXY';
    readonly PROXY_CAINFO: 'PROXY_CAINFO';
    readonly PROXY_CAPATH: 'PROXY_CAPATH';
    readonly PROXY_CRLFILE: 'PROXY_CRLFILE';
    readonly PROXY_KEYPASSWD: 'PROXY_KEYPASSWD';
    readonly PROXY_PINNEDPUBLICKEY: 'PROXY_PINNEDPUBLICKEY';
    readonly PROXY_SERVICE_NAME: 'PROXY_SERVICE_NAME';
    readonly PROXY_SSL_CIPHER_LIST: 'PROXY_SSL_CIPHER_LIST';
    readonly PROXY_SSL_OPTIONS: 'PROXY_SSL_OPTIONS';
    readonly PROXY_SSL_VERIFYHOST: 'PROXY_SSL_VERIFYHOST';
    readonly PROXY_SSL_VERIFYPEER: 'PROXY_SSL_VERIFYPEER';
    readonly PROXY_SSLCERT: 'PROXY_SSLCERT';
    readonly PROXY_SSLCERTTYPE: 'PROXY_SSLCERTTYPE';
    readonly PROXY_SSLKEY: 'PROXY_SSLKEY';
    readonly PROXY_SSLKEYTYPE: 'PROXY_SSLKEYTYPE';
    readonly PROXY_SSLVERSION: 'PROXY_SSLVERSION';
    readonly PROXY_TLS13_CIPHERS: 'PROXY_TLS13_CIPHERS';
    readonly PROXY_TLSAUTH_PASSWORD: 'PROXY_TLSAUTH_PASSWORD';
    readonly PROXY_TLSAUTH_TYPE: 'PROXY_TLSAUTH_TYPE';
    readonly PROXY_TLSAUTH_USERNAME: 'PROXY_TLSAUTH_USERNAME';
    readonly PROXY_TRANSFER_MODE: 'PROXY_TRANSFER_MODE';
    readonly PROXYAUTH: 'PROXYAUTH';
    readonly PROXYHEADER: 'PROXYHEADER';
    readonly PROXYPASSWORD: 'PROXYPASSWORD';
    readonly PROXYPORT: 'PROXYPORT';
    readonly PROXYTYPE: 'PROXYTYPE';
    readonly PROXYUSERNAME: 'PROXYUSERNAME';
    readonly PROXYUSERPWD: 'PROXYUSERPWD';
    readonly PUT: 'PUT';
    readonly QUOTE: 'QUOTE';
    readonly RANDOM_FILE: 'RANDOM_FILE';
    readonly RANGE: 'RANGE';
    readonly READDATA: 'READDATA';
    readonly READFUNCTION: 'READFUNCTION';
    readonly REDIR_PROTOCOLS: 'REDIR_PROTOCOLS';
    readonly REFERER: 'REFERER';
    readonly REQUEST_TARGET: 'REQUEST_TARGET';
    readonly RESOLVE: 'RESOLVE';
    readonly RESUME_FROM: 'RESUME_FROM';
    readonly RESUME_FROM_LARGE: 'RESUME_FROM_LARGE';
    readonly RTSP_CLIENT_CSEQ: 'RTSP_CLIENT_CSEQ';
    readonly RTSP_REQUEST: 'RTSP_REQUEST';
    readonly RTSP_SERVER_CSEQ: 'RTSP_SERVER_CSEQ';
    readonly RTSP_SESSION_ID: 'RTSP_SESSION_ID';
    readonly RTSP_STREAM_URI: 'RTSP_STREAM_URI';
    readonly RTSP_TRANSPORT: 'RTSP_TRANSPORT';
    readonly SASL_IR: 'SASL_IR';
    readonly SEEKFUNCTION: 'SEEKFUNCTION';
    readonly SERVICE_NAME: 'SERVICE_NAME';
    readonly SHARE: 'SHARE';
    readonly SOCKS5_AUTH: 'SOCKS5_AUTH';
    readonly SOCKS5_GSSAPI_NEC: 'SOCKS5_GSSAPI_NEC';
    readonly SOCKS5_GSSAPI_SERVICE: 'SOCKS5_GSSAPI_SERVICE';
    readonly SSH_AUTH_TYPES: 'SSH_AUTH_TYPES';
    readonly SSH_COMPRESSION: 'SSH_COMPRESSION';
    readonly SSH_HOST_PUBLIC_KEY_MD5: 'SSH_HOST_PUBLIC_KEY_MD5';
    readonly SSH_KNOWNHOSTS: 'SSH_KNOWNHOSTS';
    readonly SSH_PRIVATE_KEYFILE: 'SSH_PRIVATE_KEYFILE';
    readonly SSH_PUBLIC_KEYFILE: 'SSH_PUBLIC_KEYFILE';
    readonly SSL_CIPHER_LIST: 'SSL_CIPHER_LIST';
    readonly SSL_ENABLE_ALPN: 'SSL_ENABLE_ALPN';
    readonly SSL_ENABLE_NPN: 'SSL_ENABLE_NPN';
    readonly SSL_FALSESTART: 'SSL_FALSESTART';
    readonly SSL_OPTIONS: 'SSL_OPTIONS';
    readonly SSL_SESSIONID_CACHE: 'SSL_SESSIONID_CACHE';
    readonly SSL_VERIFYHOST: 'SSL_VERIFYHOST';
    readonly SSL_VERIFYPEER: 'SSL_VERIFYPEER';
    readonly SSL_VERIFYSTATUS: 'SSL_VERIFYSTATUS';
    readonly SSLCERT: 'SSLCERT';
    readonly SSLCERTTYPE: 'SSLCERTTYPE';
    readonly SSLENGINE: 'SSLENGINE';
    readonly SSLENGINE_DEFAULT: 'SSLENGINE_DEFAULT';
    readonly SSLKEY: 'SSLKEY';
    readonly SSLKEYTYPE: 'SSLKEYTYPE';
    readonly SSLVERSION: 'SSLVERSION';
    readonly SUPPRESS_CONNECT_HEADERS: 'SUPPRESS_CONNECT_HEADERS';
    readonly TCP_FASTOPEN: 'TCP_FASTOPEN';
    readonly TCP_KEEPALIVE: 'TCP_KEEPALIVE';
    readonly TCP_KEEPIDLE: 'TCP_KEEPIDLE';
    readonly TCP_KEEPINTVL: 'TCP_KEEPINTVL';
    readonly TCP_NODELAY: 'TCP_NODELAY';
    readonly TELNETOPTIONS: 'TELNETOPTIONS';
    readonly TFTP_BLKSIZE: 'TFTP_BLKSIZE';
    readonly TFTP_NO_OPTIONS: 'TFTP_NO_OPTIONS';
    readonly TIMECONDITION: 'TIMECONDITION';
    readonly TIMEOUT: 'TIMEOUT';
    readonly TIMEOUT_MS: 'TIMEOUT_MS';
    readonly TIMEVALUE: 'TIMEVALUE';
    readonly TIMEVALUE_LARGE: 'TIMEVALUE_LARGE';
    readonly TLS13_CIPHERS: 'TLS13_CIPHERS';
    readonly TLSAUTH_PASSWORD: 'TLSAUTH_PASSWORD';
    readonly TLSAUTH_TYPE: 'TLSAUTH_TYPE';
    readonly TLSAUTH_USERNAME: 'TLSAUTH_USERNAME';
    readonly TRAILERFUNCTION: 'TRAILERFUNCTION';
    readonly TRANSFER_ENCODING: 'TRANSFER_ENCODING';
    readonly TRANSFERTEXT: 'TRANSFERTEXT';
    readonly UNIX_SOCKET_PATH: 'UNIX_SOCKET_PATH';
    readonly UNRESTRICTED_AUTH: 'UNRESTRICTED_AUTH';
    readonly UPKEEP_INTERVAL_MS: 'UPKEEP_INTERVAL_MS';
    readonly UPLOAD: 'UPLOAD';
    readonly UPLOAD_BUFFERSIZE: 'UPLOAD_BUFFERSIZE';
    readonly URL: 'URL';
    readonly USE_SSL: 'USE_SSL';
    readonly USERAGENT: 'USERAGENT';
    readonly USERNAME: 'USERNAME';
    readonly USERPWD: 'USERPWD';
    readonly VERBOSE: 'VERBOSE';
    readonly WILDCARDMATCH: 'WILDCARDMATCH';
    readonly WRITEFUNCTION: 'WRITEFUNCTION';
    readonly XFERINFOFUNCTION: 'XFERINFOFUNCTION';
    readonly XOAUTH2_BEARER: 'XOAUTH2_BEARER';
}

// @public (undocumented)
export type CurlOptionName = 'ABSTRACT_UNIX_SOCKET' | 'ACCEPT_ENCODING' | 'ACCEPTTIMEOUT_MS' | 'ADDRESS_SCOPE' | 'ALTSVC' | 'ALTSVC_CTRL' | 'APPEND' | 'AUTOREFERER' | 'BUFFERSIZE' | 'CAINFO' | 'CAPATH' | 'CERTINFO' | 'CHUNK_BGN_FUNCTION' | 'CHUNK_END_FUNCTION' | 'CONNECT_ONLY' | 'CONNECT_TO' | 'CONNECTTIMEOUT' | 'CONNECTTIMEOUT_MS' | 'COOKIE' | 'COOKIEFILE' | 'COOKIEJAR' | 'COOKIELIST' | 'COOKIESESSION' | 'CRLF' | 'CRLFILE' | 'CUSTOMREQUEST' | 'DEBUGFUNCTION' | 'DEFAULT_PROTOCOL' | 'DIRLISTONLY' | 'DISALLOW_USERNAME_IN_URL' | 'DNS_CACHE_TIMEOUT' | 'DNS_INTERFACE' | 'DNS_LOCAL_IP4' | 'DNS_LOCAL_IP6' | 'DNS_SERVERS' | 'DNS_SHUFFLE_ADDRESSES' | 'DNS_USE_GLOBAL_CACHE' | 'DOH_URL' | 'EGDSOCKET' | 'EXPECT_100_TIMEOUT_MS' | 'FAILONERROR' | 'FILETIME' | 'FNMATCH_FUNCTION' | 'FOLLOWLOCATION' | 'FORBID_REUSE' | 'FRESH_CONNECT' | 'FTP_ACCOUNT' | 'FTP_ALTERNATIVE_TO_USER' | 'FTP_CREATE_MISSING_DIRS' | 'FTP_FILEMETHOD' | 'FTP_RESPONSE_TIMEOUT' | 'FTP_SKIP_PASV_IP' | 'FTP_SSL_CCC' | 'FTP_USE_EPRT' | 'FTP_USE_EPSV' | 'FTP_USE_PRET' | 'FTPPORT' | 'FTPSSLAUTH' | 'GSSAPI_DELEGATION' | 'HAPPY_EYEBALLS_TIMEOUT_MS' | 'HAPROXYPROTOCOL' | 'HEADER' | 'HEADERFUNCTION' | 'HEADEROPT' | 'HTTP_CONTENT_DECODING' | 'HTTP_TRANSFER_DECODING' | 'HTTP_VERSION' | 'HTTP09_ALLOWED' | 'HTTP200ALIASES' | 'HTTPAUTH' | 'HTTPGET' | 'HTTPHEADER' | 'HTTPPOST' | 'HTTPPROXYTUNNEL' | 'IGNORE_CONTENT_LENGTH' | 'INFILESIZE' | 'INFILESIZE_LARGE' | 'INTERFACE' | 'IPRESOLVE' | 'ISSUERCERT' | 'KEEP_SENDING_ON_ERROR' | 'KEYPASSWD' | 'KRBLEVEL' | 'LOCALPORT' | 'LOCALPORTRANGE' | 'LOGIN_OPTIONS' | 'LOW_SPEED_LIMIT' | 'LOW_SPEED_TIME' | 'MAIL_AUTH' | 'MAIL_FROM' | 'MAIL_RCPT' | 'MAX_RECV_SPEED_LARGE' | 'MAX_SEND_SPEED_LARGE' | 'MAXAGE_CONN' | 'MAXCONNECTS' | 'MAXFILESIZE' | 'MAXFILESIZE_LARGE' | 'MAXREDIRS' | 'MIMEPOST' | 'NETRC' | 'NETRC_FILE' | 'NEW_DIRECTORY_PERMS' | 'NEW_FILE_PERMS' | 'NOBODY' | 'NOPROGRESS' | 'NOPROXY' | 'NOSIGNAL' | 'PASSWORD' | 'PATH_AS_IS' | 'PINNEDPUBLICKEY' | 'PIPEWAIT' | 'PORT' | 'POST' | 'POSTFIELDS' | 'POSTFIELDSIZE' | 'POSTFIELDSIZE_LARGE' | 'POSTQUOTE' | 'POSTREDIR' | 'PRE_PROXY' | 'PREQUOTE' | 'PROGRESSFUNCTION' | 'PROTOCOLS' | 'PROXY' | 'PROXY_CAINFO' | 'PROXY_CAPATH' | 'PROXY_CRLFILE' | 'PROXY_KEYPASSWD' | 'PROXY_PINNEDPUBLICKEY' | 'PROXY_SERVICE_NAME' | 'PROXY_SSL_CIPHER_LIST' | 'PROXY_SSL_OPTIONS' | 'PROXY_SSL_VERIFYHOST' | 'PROXY_SSL_VERIFYPEER' | 'PROXY_SSLCERT' | 'PROXY_SSLCERTTYPE' | 'PROXY_SSLKEY' | 'PROXY_SSLKEYTYPE' | 'PROXY_SSLVERSION' | 'PROXY_TLS13_CIPHERS' | 'PROXY_TLSAUTH_PASSWORD' | 'PROXY_TLSAUTH_TYPE' | 'PROXY_TLSAUTH_USERNAME' | 'PROXY_TRANSFER_MODE' | 'PROXYAUTH' | 'PROXYHEADER' | 'PROXYPASSWORD' | 'PROXYPORT' | 'PROXYTYPE' | 'PROXYUSERNAME' | 'PROXYUSERPWD' | 'PUT' | 'QUOTE' | 'RANDOM_FILE' | 'RANGE' | 'READDATA' | 'READFUNCTION' | 'REDIR_PROTOCOLS' | 'REFERER' | 'REQUEST_TARGET' | 'RESOLVE' | 'RESUME_FROM' | 'RESUME_FROM_LARGE' | 'RTSP_CLIENT_CSEQ' | 'RTSP_REQUEST' | 'RTSP_SERVER_CSEQ' | 'RTSP_SESSION_ID' | 'RTSP_STREAM_URI' | 'RTSP_TRANSPORT' | 'SASL_IR' | 'SEEKFUNCTION' | 'SERVICE_NAME' | 'SHARE' | 'SOCKS5_AUTH' | 'SOCKS5_GSSAPI_NEC' | 'SOCKS5_GSSAPI_SERVICE' | 'SSH_AUTH_TYPES' | 'SSH_COMPRESSION' | 'SSH_HOST_PUBLIC_KEY_MD5' | 'SSH_KNOWNHOSTS' | 'SSH_PRIVATE_KEYFILE' | 'SSH_PUBLIC_KEYFILE' | 'SSL_CIPHER_LIST' | 'SSL_ENABLE_ALPN' | 'SSL_ENABLE_NPN' | 'SSL_FALSESTART' | 'SSL_OPTIONS' | 'SSL_SESSIONID_CACHE' | 'SSL_VERIFYHOST' | 'SSL_VERIFYPEER' | 'SSL_VERIFYSTATUS' | 'SSLCERT' | 'SSLCERTTYPE' | 'SSLENGINE' | 'SSLENGINE_DEFAULT' | 'SSLKEY' | 'SSLKEYTYPE' | 'SSLVERSION' | 'SUPPRESS_CONNECT_HEADERS' | 'TCP_FASTOPEN' | 'TCP_KEEPALIVE' | 'TCP_KEEPIDLE' | 'TCP_KEEPINTVL' | 'TCP_NODELAY' | 'TELNETOPTIONS' | 'TFTP_BLKSIZE' | 'TFTP_NO_OPTIONS' | 'TIMECONDITION' | 'TIMEOUT' | 'TIMEOUT_MS' | 'TIMEVALUE' | 'TIMEVALUE_LARGE' | 'TLS13_CIPHERS' | 'TLSAUTH_PASSWORD' | 'TLSAUTH_TYPE' | 'TLSAUTH_USERNAME' | 'TRAILERFUNCTION' | 'TRANSFER_ENCODING' | 'TRANSFERTEXT' | 'UNIX_SOCKET_PATH' | 'UNRESTRICTED_AUTH' | 'UPKEEP_INTERVAL_MS' | 'UPLOAD' | 'UPLOAD_BUFFERSIZE' | 'URL' | 'USE_SSL' | 'USERAGENT' | 'USERNAME' | 'USERPWD' | 'VERBOSE' | 'WILDCARDMATCH' | 'WRITEFUNCTION' | 'XFERINFOFUNCTION' | 'XOAUTH2_BEARER';

// @public (undocumented)
export type CurlOptionValueType = {
    ABSTRACT_UNIX_SOCKET?: string | number | boolean | null;
    abstractUnixSocket?: string | number | boolean | null;
    ACCEPT_ENCODING?: string | number | boolean | null;
    acceptEncoding?: string | number | boolean | null;
    ACCEPTTIMEOUT_MS?: string | number | boolean | null;
    acceptTimeoutMs?: string | number | boolean | null;
    ADDRESS_SCOPE?: string | number | boolean | null;
    addressScope?: string | number | boolean | null;
    ALTSVC?: string | number | boolean | null;
    altSvc?: string | number | boolean | null;
    ALTSVC_CTRL?: string | number | boolean | null;
    altSvcCtrl?: string | number | boolean | null;
    APPEND?: string | number | boolean | null;
    append?: string | number | boolean | null;
    AUTOREFERER?: string | number | boolean | null;
    autoReferer?: string | number | boolean | null;
    BUFFERSIZE?: string | number | boolean | null;
    bufferSize?: string | number | boolean | null;
    CAINFO?: string | number | boolean | null;
    caInfo?: string | number | boolean | null;
    CAPATH?: string | number | boolean | null;
    caPath?: string | number | boolean | null;
    CERTINFO?: string | number | boolean | null;
    certInfo?: string | number | boolean | null;
    CHUNK_BGN_FUNCTION?: ((fileInfo: FileInfo, remains: number) => number) | null;
    chunkBgnFunction?: ((fileInfo: FileInfo, remains: number) => number) | null;
    CHUNK_END_FUNCTION?: (() => number) | null;
    chunkEndFunction?: (() => number) | null;
    CONNECT_ONLY?: string | number | boolean | null;
    connectOnly?: string | number | boolean | null;
    CONNECT_TO?: string[] | null;
    connectTo?: string[] | null;
    CONNECTTIMEOUT?: string | number | boolean | null;
    connectTimeout?: string | number | boolean | null;
    CONNECTTIMEOUT_MS?: string | number | boolean | null;
    connectTimeoutMs?: string | number | boolean | null;
    COOKIE?: string | number | boolean | null;
    cookie?: string | number | boolean | null;
    COOKIEFILE?: string | number | boolean | null;
    cookieFile?: string | number | boolean | null;
    COOKIEJAR?: string | number | boolean | null;
    cookieJar?: string | number | boolean | null;
    COOKIELIST?: string | number | boolean | null;
    cookieList?: string | number | boolean | null;
    COOKIESESSION?: string | number | boolean | null;
    cookieSession?: string | number | boolean | null;
    CRLF?: string | number | boolean | null;
    crlf?: string | number | boolean | null;
    CRLFILE?: string | number | boolean | null;
    crlFile?: string | number | boolean | null;
    CUSTOMREQUEST?: string | number | boolean | null;
    customRequest?: string | number | boolean | null;
    DEBUGFUNCTION?: ((type: number, data: Buffer) => void) | null;
    debugFunction?: ((type: number, data: Buffer) => void) | null;
    DEFAULT_PROTOCOL?: string | number | boolean | null;
    defaultProtocol?: string | number | boolean | null;
    DIRLISTONLY?: string | number | boolean | null;
    dirListOnly?: string | number | boolean | null;
    DISALLOW_USERNAME_IN_URL?: string | number | boolean | null;
    disallowUsernameInUrl?: string | number | boolean | null;
    DNS_CACHE_TIMEOUT?: string | number | boolean | null;
    dnsCacheTimeout?: string | number | boolean | null;
    DNS_INTERFACE?: string | number | boolean | null;
    dnsInterface?: string | number | boolean | null;
    DNS_LOCAL_IP4?: string | number | boolean | null;
    dnsLocalIp4?: string | number | boolean | null;
    DNS_LOCAL_IP6?: string | number | boolean | null;
    dnsLocalIp6?: string | number | boolean | null;
    DNS_SERVERS?: string | number | boolean | null;
    dnsServers?: string | number | boolean | null;
    DNS_SHUFFLE_ADDRESSES?: string | number | boolean | null;
    dnsShuffleAddresses?: string | number | boolean | null;
    DNS_USE_GLOBAL_CACHE?: string | number | boolean | null;
    dnsUseGlobalCache?: string | number | boolean | null;
    DOH_URL?: string | number | boolean | null;
    dohUrl?: string | number | boolean | null;
    EGDSOCKET?: string | number | boolean | null;
    egdSocket?: string | number | boolean | null;
    EXPECT_100_TIMEOUT_MS?: string | number | boolean | null;
    expect100TimeoutMs?: string | number | boolean | null;
    FAILONERROR?: string | number | boolean | null;
    failOnError?: string | number | boolean | null;
    FILETIME?: string | number | boolean | null;
    fileTime?: string | number | boolean | null;
    FNMATCH_FUNCTION?: ((pattern: string, value: string) => number) | null;
    fnMatchFunction?: ((pattern: string, value: string) => number) | null;
    FOLLOWLOCATION?: string | number | boolean | null;
    followLocation?: string | number | boolean | null;
    FORBID_REUSE?: string | number | boolean | null;
    forbIdReuse?: string | number | boolean | null;
    FRESH_CONNECT?: string | number | boolean | null;
    freshConnect?: string | number | boolean | null;
    FTP_ACCOUNT?: string | number | boolean | null;
    ftpAccount?: string | number | boolean | null;
    FTP_ALTERNATIVE_TO_USER?: string | number | boolean | null;
    ftpAlternativeToUser?: string | number | boolean | null;
    FTP_CREATE_MISSING_DIRS?: string | number | boolean | null;
    ftpCreateMissingDirs?: string | number | boolean | null;
    FTP_FILEMETHOD?: string | number | boolean | null;
    ftpFileMethod?: string | number | boolean | null;
    FTP_RESPONSE_TIMEOUT?: string | number | boolean | null;
    ftpResponseTimeout?: string | number | boolean | null;
    FTP_SKIP_PASV_IP?: string | number | boolean | null;
    ftpSkipPasvIp?: string | number | boolean | null;
    FTP_SSL_CCC?: string | number | boolean | null;
    ftpSslCcc?: string | number | boolean | null;
    FTP_USE_EPRT?: string | number | boolean | null;
    ftpUseEprt?: string | number | boolean | null;
    FTP_USE_EPSV?: string | number | boolean | null;
    ftpUseEpsv?: string | number | boolean | null;
    FTP_USE_PRET?: string | number | boolean | null;
    ftpUsePret?: string | number | boolean | null;
    FTPPORT?: string | number | boolean | null;
    ftpPort?: string | number | boolean | null;
    FTPSSLAUTH?: string | number | boolean | null;
    ftpSslAuth?: string | number | boolean | null;
    GSSAPI_DELEGATION?: CurlGssApi | null;
    gssapiDelegation?: CurlGssApi | null;
    HAPPY_EYEBALLS_TIMEOUT_MS?: string | number | boolean | null;
    happyEyeballsTimeoutMs?: string | number | boolean | null;
    HAPROXYPROTOCOL?: string | number | boolean | null;
    haProxyProtocol?: string | number | boolean | null;
    HEADER?: string | number | boolean | null;
    header?: string | number | boolean | null;
    HEADERFUNCTION?: ((data: Buffer, size: number, nmemb: number) => number) | null;
    headerFunction?: ((data: Buffer, size: number, nmemb: number) => number) | null;
    HEADEROPT?: string | number | boolean | null;
    headerOpt?: string | number | boolean | null;
    HTTP_CONTENT_DECODING?: string | number | boolean | null;
    httpContentDecoding?: string | number | boolean | null;
    HTTP_TRANSFER_DECODING?: string | number | boolean | null;
    httpTransferDecoding?: string | number | boolean | null;
    HTTP_VERSION?: string | number | boolean | null;
    httpVersion?: string | number | boolean | null;
    HTTP09_ALLOWED?: string | number | boolean | null;
    http09Allowed?: string | number | boolean | null;
    HTTP200ALIASES?: string[] | null;
    http200aliases?: string[] | null;
    HTTPAUTH?: string | number | boolean | null;
    httpAuth?: string | number | boolean | null;
    HTTPGET?: string | number | boolean | null;
    httpGet?: string | number | boolean | null;
    HTTPHEADER?: string[] | null;
    httpHeader?: string[] | null;
    HTTPPOST?: HttpPostField[] | null;
    httpPost?: HttpPostField[] | null;
    HTTPPROXYTUNNEL?: string | number | boolean | null;
    httpProxyTunnel?: string | number | boolean | null;
    IGNORE_CONTENT_LENGTH?: string | number | boolean | null;
    ignoreContentLength?: string | number | boolean | null;
    INFILESIZE?: string | number | boolean | null;
    inFileSize?: string | number | boolean | null;
    INFILESIZE_LARGE?: string | number | boolean | null;
    inFileSizeLarge?: string | number | boolean | null;
    INTERFACE?: string | number | boolean | null;
    interface?: string | number | boolean | null;
    IPRESOLVE?: string | number | boolean | null;
    ipResolve?: string | number | boolean | null;
    ISSUERCERT?: string | number | boolean | null;
    issuerCert?: string | number | boolean | null;
    KEEP_SENDING_ON_ERROR?: string | number | boolean | null;
    keepSendingOnError?: string | number | boolean | null;
    KEYPASSWD?: string | number | boolean | null;
    keyPasswd?: string | number | boolean | null;
    KRBLEVEL?: string | number | boolean | null;
    krbLevel?: string | number | boolean | null;
    LOCALPORT?: string | number | boolean | null;
    localPort?: string | number | boolean | null;
    LOCALPORTRANGE?: string | number | boolean | null;
    localPortRange?: string | number | boolean | null;
    LOGIN_OPTIONS?: string | number | boolean | null;
    loginOptions?: string | number | boolean | null;
    LOW_SPEED_LIMIT?: string | number | boolean | null;
    lowSpeedLimit?: string | number | boolean | null;
    LOW_SPEED_TIME?: string | number | boolean | null;
    lowSpeedTime?: string | number | boolean | null;
    MAIL_AUTH?: string | number | boolean | null;
    mailAuth?: string | number | boolean | null;
    MAIL_FROM?: string | number | boolean | null;
    mailFrom?: string | number | boolean | null;
    MAIL_RCPT?: string[] | null;
    mailRcpt?: string[] | null;
    MAX_RECV_SPEED_LARGE?: string | number | boolean | null;
    maxRecvSpeedLarge?: string | number | boolean | null;
    MAX_SEND_SPEED_LARGE?: string | number | boolean | null;
    maxSendSpeedLarge?: string | number | boolean | null;
    MAXAGE_CONN?: string | number | boolean | null;
    maxAgeConn?: string | number | boolean | null;
    MAXCONNECTS?: string | number | boolean | null;
    maxConnects?: string | number | boolean | null;
    MAXFILESIZE?: string | number | boolean | null;
    maxFileSize?: string | number | boolean | null;
    MAXFILESIZE_LARGE?: string | number | boolean | null;
    maxFileSizeLarge?: string | number | boolean | null;
    MAXREDIRS?: string | number | boolean | null;
    maxRedirs?: string | number | boolean | null;
    MIMEPOST?: string | number | boolean | null;
    mimePost?: string | number | boolean | null;
    NETRC?: string | number | boolean | null;
    netrc?: string | number | boolean | null;
    NETRC_FILE?: string | number | boolean | null;
    netrcFile?: string | number | boolean | null;
    NEW_DIRECTORY_PERMS?: string | number | boolean | null;
    newDirectoryPerms?: string | number | boolean | null;
    NEW_FILE_PERMS?: string | number | boolean | null;
    newFilePerms?: string | number | boolean | null;
    NOBODY?: string | number | boolean | null;
    nobody?: string | number | boolean | null;
    NOPROGRESS?: string | number | boolean | null;
    noProgress?: string | number | boolean | null;
    NOPROXY?: string | number | boolean | null;
    noProxy?: string | number | boolean | null;
    NOSIGNAL?: string | number | boolean | null;
    noSignal?: string | number | boolean | null;
    PASSWORD?: string | number | boolean | null;
    password?: string | number | boolean | null;
    PATH_AS_IS?: string | number | boolean | null;
    pathAsIs?: string | number | boolean | null;
    PINNEDPUBLICKEY?: string | number | boolean | null;
    pinnedPublicKey?: string | number | boolean | null;
    PIPEWAIT?: string | number | boolean | null;
    pipeWait?: string | number | boolean | null;
    PORT?: string | number | boolean | null;
    port?: string | number | boolean | null;
    POST?: string | number | boolean | null;
    post?: string | number | boolean | null;
    POSTFIELDS?: string | number | boolean | null;
    postFields?: string | number | boolean | null;
    POSTFIELDSIZE?: string | number | boolean | null;
    postFieldSize?: string | number | boolean | null;
    POSTFIELDSIZE_LARGE?: string | number | boolean | null;
    postFieldSizeLarge?: string | number | boolean | null;
    POSTQUOTE?: string[] | null;
    postQuote?: string[] | null;
    POSTREDIR?: string | number | boolean | null;
    postRedir?: string | number | boolean | null;
    PRE_PROXY?: string | number | boolean | null;
    preProxy?: string | number | boolean | null;
    PREQUOTE?: string[] | null;
    preQuote?: string[] | null;
    PROGRESSFUNCTION?: ((dltotal: number, dlnow: number, ultotal: number, ulnow: number) => number) | null;
    progressFunction?: ((dltotal: number, dlnow: number, ultotal: number, ulnow: number) => number) | null;
    PROTOCOLS?: string | number | boolean | null;
    protocols?: string | number | boolean | null;
    PROXY?: string | number | boolean | null;
    proxy?: string | number | boolean | null;
    PROXY_CAINFO?: string | number | boolean | null;
    proxyCaInfo?: string | number | boolean | null;
    PROXY_CAPATH?: string | number | boolean | null;
    proxyCaPath?: string | number | boolean | null;
    PROXY_CRLFILE?: string | number | boolean | null;
    proxyCrlFile?: string | number | boolean | null;
    PROXY_KEYPASSWD?: string | number | boolean | null;
    proxyKeyPasswd?: string | number | boolean | null;
    PROXY_PINNEDPUBLICKEY?: string | number | boolean | null;
    proxyPinnedPublicKey?: string | number | boolean | null;
    PROXY_SERVICE_NAME?: string | number | boolean | null;
    proxyServiceName?: string | number | boolean | null;
    PROXY_SSL_CIPHER_LIST?: string | number | boolean | null;
    proxySslCipherList?: string | number | boolean | null;
    PROXY_SSL_OPTIONS?: CurlSslOpt | null;
    proxySslOptions?: CurlSslOpt | null;
    PROXY_SSL_VERIFYHOST?: string | number | boolean | null;
    proxySslVerifyHost?: string | number | boolean | null;
    PROXY_SSL_VERIFYPEER?: string | number | boolean | null;
    proxySslVerifyPeer?: string | number | boolean | null;
    PROXY_SSLCERT?: string | number | boolean | null;
    proxySslCert?: string | number | boolean | null;
    PROXY_SSLCERTTYPE?: string | number | boolean | null;
    proxySslCertType?: string | number | boolean | null;
    PROXY_SSLKEY?: string | number | boolean | null;
    proxySslKey?: string | number | boolean | null;
    PROXY_SSLKEYTYPE?: string | number | boolean | null;
    proxySslKeyType?: string | number | boolean | null;
    PROXY_SSLVERSION?: string | number | boolean | null;
    proxySslversion?: string | number | boolean | null;
    PROXY_TLS13_CIPHERS?: string | number | boolean | null;
    proxyTls13Ciphers?: string | number | boolean | null;
    PROXY_TLSAUTH_PASSWORD?: string | number | boolean | null;
    proxyTlsAuthPassword?: string | number | boolean | null;
    PROXY_TLSAUTH_TYPE?: string | number | boolean | null;
    proxyTlsAuthType?: string | number | boolean | null;
    PROXY_TLSAUTH_USERNAME?: string | number | boolean | null;
    proxyTlsAuthUsername?: string | number | boolean | null;
    PROXY_TRANSFER_MODE?: string | number | boolean | null;
    proxyTransferMode?: string | number | boolean | null;
    PROXYAUTH?: string | number | boolean | null;
    proxyAuth?: string | number | boolean | null;
    PROXYHEADER?: string[] | null;
    proxyHeader?: string[] | null;
    PROXYPASSWORD?: string | number | boolean | null;
    proxyPassword?: string | number | boolean | null;
    PROXYPORT?: string | number | boolean | null;
    proxyPort?: string | number | boolean | null;
    PROXYTYPE?: string | number | boolean | null;
    proxyType?: string | number | boolean | null;
    PROXYUSERNAME?: string | number | boolean | null;
    proxyUsername?: string | number | boolean | null;
    PROXYUSERPWD?: string | number | boolean | null;
    proxyUserpwd?: string | number | boolean | null;
    PUT?: string | number | boolean | null;
    put?: string | number | boolean | null;
    QUOTE?: string[] | null;
    quote?: string[] | null;
    RANDOM_FILE?: string | number | boolean | null;
    randomFile?: string | number | boolean | null;
    RANGE?: string | number | boolean | null;
    range?: string | number | boolean | null;
    READDATA?: string | number | boolean | null;
    readData?: string | number | boolean | null;
    READFUNCTION?: ((data: Buffer, size: number, nmemb: number) => number) | null;
    readFunction?: ((data: Buffer, size: number, nmemb: number) => number) | null;
    REDIR_PROTOCOLS?: string | number | boolean | null;
    redirProtocols?: string | number | boolean | null;
    REFERER?: string | number | boolean | null;
    referer?: string | number | boolean | null;
    REQUEST_TARGET?: string | number | boolean | null;
    requestTarget?: string | number | boolean | null;
    RESOLVE?: string[] | null;
    resolve?: string[] | null;
    RESUME_FROM?: string | number | boolean | null;
    resumeFrom?: string | number | boolean | null;
    RESUME_FROM_LARGE?: string | number | boolean | null;
    resumeFromLarge?: string | number | boolean | null;
    RTSP_CLIENT_CSEQ?: string | number | boolean | null;
    rtspClientCseq?: string | number | boolean | null;
    RTSP_REQUEST?: string | number | boolean | null;
    rtspRequest?: string | number | boolean | null;
    RTSP_SERVER_CSEQ?: string | number | boolean | null;
    rtspServerCseq?: string | number | boolean | null;
    RTSP_SESSION_ID?: string | number | boolean | null;
    rtspSessionId?: string | number | boolean | null;
    RTSP_STREAM_URI?: string | number | boolean | null;
    rtspStreamUri?: string | number | boolean | null;
    RTSP_TRANSPORT?: string | number | boolean | null;
    rtspTransPort?: string | number | boolean | null;
    SASL_IR?: string | number | boolean | null;
    saslIr?: string | number | boolean | null;
    SEEKFUNCTION?: ((offset: number, origin: number) => number) | null;
    seekFunction?: ((offset: number, origin: number) => number) | null;
    SERVICE_NAME?: string | number | boolean | null;
    serviceName?: string | number | boolean | null;
    SHARE?: Share_2 | null;
    share?: Share_2 | null;
    SOCKS5_AUTH?: string | number | boolean | null;
    socks5Auth?: string | number | boolean | null;
    SOCKS5_GSSAPI_NEC?: string | number | boolean | null;
    socks5GssapiNec?: string | number | boolean | null;
    SOCKS5_GSSAPI_SERVICE?: string | number | boolean | null;
    socks5GssapiService?: string | number | boolean | null;
    SSH_AUTH_TYPES?: string | number | boolean | null;
    sshAuthTypes?: string | number | boolean | null;
    SSH_COMPRESSION?: string | number | boolean | null;
    sshCompression?: string | number | boolean | null;
    SSH_HOST_PUBLIC_KEY_MD5?: string | number | boolean | null;
    sshHostPublicKeyMd5?: string | number | boolean | null;
    SSH_KNOWNHOSTS?: string | number | boolean | null;
    sshKnownHosts?: string | number | boolean | null;
    SSH_PRIVATE_KEYFILE?: string | number | boolean | null;
    sshPrivateKeyFile?: string | number | boolean | null;
    SSH_PUBLIC_KEYFILE?: string | number | boolean | null;
    sshPublicKeyFile?: string | number | boolean | null;
    SSL_CIPHER_LIST?: string | number | boolean | null;
    sslCipherList?: string | number | boolean | null;
    SSL_ENABLE_ALPN?: string | number | boolean | null;
    sslEnableAlpn?: string | number | boolean | null;
    SSL_ENABLE_NPN?: string | number | boolean | null;
    sslEnableNpn?: string | number | boolean | null;
    SSL_FALSESTART?: string | number | boolean | null;
    sslFalsestart?: string | number | boolean | null;
    SSL_OPTIONS?: CurlSslOpt | null;
    sslOptions?: CurlSslOpt | null;
    SSL_SESSIONID_CACHE?: string | number | boolean | null;
    sslSessionIdCache?: string | number | boolean | null;
    SSL_VERIFYHOST?: string | number | boolean | null;
    sslVerifyHost?: string | number | boolean | null;
    SSL_VERIFYPEER?: string | number | boolean | null;
    sslVerifyPeer?: string | number | boolean | null;
    SSL_VERIFYSTATUS?: string | number | boolean | null;
    sslVerifyStatus?: string | number | boolean | null;
    SSLCERT?: string | number | boolean | null;
    sslCert?: string | number | boolean | null;
    SSLCERTTYPE?: string | number | boolean | null;
    sslCertType?: string | number | boolean | null;
    SSLENGINE?: string | number | boolean | null;
    sslEngine?: string | number | boolean | null;
    SSLENGINE_DEFAULT?: string | number | boolean | null;
    sslEngineDefault?: string | number | boolean | null;
    SSLKEY?: string | number | boolean | null;
    sslKey?: string | number | boolean | null;
    SSLKEYTYPE?: string | number | boolean | null;
    sslKeyType?: string | number | boolean | null;
    SSLVERSION?: string | number | boolean | null;
    sslversion?: string | number | boolean | null;
    SUPPRESS_CONNECT_HEADERS?: string | number | boolean | null;
    suppressConnectHeaders?: string | number | boolean | null;
    TCP_FASTOPEN?: string | number | boolean | null;
    tcpFastOpen?: string | number | boolean | null;
    TCP_KEEPALIVE?: string | number | boolean | null;
    tcpKeepAlive?: string | number | boolean | null;
    TCP_KEEPIDLE?: string | number | boolean | null;
    tcpKeepIdle?: string | number | boolean | null;
    TCP_KEEPINTVL?: string | number | boolean | null;
    tcpKeepIntvl?: string | number | boolean | null;
    TCP_NODELAY?: string | number | boolean | null;
    tcpNoDelay?: string | number | boolean | null;
    TELNETOPTIONS?: string[] | null;
    telnetOptions?: string[] | null;
    TFTP_BLKSIZE?: string | number | boolean | null;
    tftpBlkSize?: string | number | boolean | null;
    TFTP_NO_OPTIONS?: string | number | boolean | null;
    tftpNoOptions?: string | number | boolean | null;
    TIMECONDITION?: string | number | boolean | null;
    timeCondition?: string | number | boolean | null;
    TIMEOUT?: string | number | boolean | null;
    timeout?: string | number | boolean | null;
    TIMEOUT_MS?: string | number | boolean | null;
    timeoutMs?: string | number | boolean | null;
    TIMEVALUE?: string | number | boolean | null;
    timeValue?: string | number | boolean | null;
    TIMEVALUE_LARGE?: string | number | boolean | null;
    timeValueLarge?: string | number | boolean | null;
    TLS13_CIPHERS?: string | number | boolean | null;
    tls13Ciphers?: string | number | boolean | null;
    TLSAUTH_PASSWORD?: string | number | boolean | null;
    tlsAuthPassword?: string | number | boolean | null;
    TLSAUTH_TYPE?: string | number | boolean | null;
    tlsAuthType?: string | number | boolean | null;
    TLSAUTH_USERNAME?: string | number | boolean | null;
    tlsAuthUsername?: string | number | boolean | null;
    TRAILERFUNCTION?: (() => string[] | false) | null;
    trailerFunction?: (() => string[] | false) | null;
    TRANSFER_ENCODING?: string | number | boolean | null;
    transferEncoding?: string | number | boolean | null;
    TRANSFERTEXT?: string | number | boolean | null;
    transferText?: string | number | boolean | null;
    UNIX_SOCKET_PATH?: string | number | boolean | null;
    unixSocketPath?: string | number | boolean | null;
    UNRESTRICTED_AUTH?: string | number | boolean | null;
    unrestrictedAuth?: string | number | boolean | null;
    UPKEEP_INTERVAL_MS?: string | number | boolean | null;
    upkeepIntervalMs?: string | number | boolean | null;
    UPLOAD?: string | number | boolean | null;
    upload?: string | number | boolean | null;
    UPLOAD_BUFFERSIZE?: string | number | boolean | null;
    uploadBufferSize?: string | number | boolean | null;
    URL?: string | number | boolean | null;
    url?: string | number | boolean | null;
    USE_SSL?: string | number | boolean | null;
    useSsl?: string | number | boolean | null;
    USERAGENT?: string | number | boolean | null;
    userAgent?: string | number | boolean | null;
    USERNAME?: string | number | boolean | null;
    username?: string | number | boolean | null;
    USERPWD?: string | number | boolean | null;
    userpwd?: string | number | boolean | null;
    VERBOSE?: string | number | boolean | null;
    verbose?: string | number | boolean | null;
    WILDCARDMATCH?: string | number | boolean | null;
    wildcardMatch?: string | number | boolean | null;
    WRITEFUNCTION?: ((data: Buffer, size: number, nmemb: number) => number) | null;
    writeFunction?: ((data: Buffer, size: number, nmemb: number) => number) | null;
    XFERINFOFUNCTION?: ((dltotal: number, dlnow: number, ultotal: number, ulnow: number) => number) | null;
    xferInfoFunction?: ((dltotal: number, dlnow: number, ultotal: number, ulnow: number) => number) | null;
    XOAUTH2_BEARER?: string | number | boolean | null;
    xoauth2Bearer?: string | number | boolean | null;
};

// @public
export enum CurlPause {
    // (undocumented)
    All = 5,
    // (undocumented)
    Cont = 0,
    // (undocumented)
    Recv = 1,
    // (undocumented)
    RecvCont = 0,
    // (undocumented)
    Send = 4,
    // (undocumented)
    SendCont = 0,
    // (undocumented)
    WriteFuncPause = 268435457
}

// @public
export enum CurlPipe {
    // (undocumented)
    Http1 = 1,
    // (undocumented)
    Multiplex = 2,
    // (undocumented)
    Nothing = 0
}

// @public
export enum CurlProtocol {
    // (undocumented)
    ALL = -1,
    // (undocumented)
    DICT = 512,
    // (undocumented)
    FILE = 1024,
    // (undocumented)
    FTP = 4,
    // (undocumented)
    FTPS = 8,
    // (undocumented)
    GOPHER = 33554432,
    // (undocumented)
    HTTP = 1,
    // (undocumented)
    HTTPS = 2,
    // (undocumented)
    IMAP = 4096,
    // (undocumented)
    IMAPS = 8192,
    // (undocumented)
    LDAP = 128,
    // (undocumented)
    LDAPS = 256,
    // (undocumented)
    POP3 = 16384,
    // (undocumented)
    POP3S = 32768,
    // (undocumented)
    RTMP = 524288,
    // (undocumented)
    RTMPE = 2097152,
    // (undocumented)
    RTMPS = 8388608,
    // (undocumented)
    RTMPT = 1048576,
    // (undocumented)
    RTMPTE = 4194304,
    // (undocumented)
    RTMPTS = 16777216,
    // (undocumented)
    RTSP = 262144,
    // (undocumented)
    SCP = 16,
    // (undocumented)
    SFTP = 32,
    // (undocumented)
    SMB = 67108864,
    // (undocumented)
    SMBS = 134217728,
    // (undocumented)
    SMTP = 65536,
    // (undocumented)
    SMTPS = 131072,
    // (undocumented)
    TELNET = 64,
    // (undocumented)
    TFTP = 2048
}

// @public
export enum CurlProxy {
    // (undocumented)
    Http = 0,
    // (undocumented)
    Http_1_0 = 1,
    // (undocumented)
    Https = 2,
    // (undocumented)
    Socks4 = 4,
    // (undocumented)
    Socks4A = 6,
    // (undocumented)
    Socks5 = 5,
    // (undocumented)
    Socks5Hostname = 7
}

// @public
export enum CurlRtspRequest {
    // (undocumented)
    Announce = 3,
    // (undocumented)
    Describe = 2,
    // (undocumented)
    GetParameter = 8,
    // (undocumented)
    None = 0,
    // (undocumented)
    Options = 1,
    // (undocumented)
    Pause = 6,
    // (undocumented)
    Play = 5,
    // (undocumented)
    Receive = 11,
    // (undocumented)
    Record = 10,
    // (undocumented)
    SetParameter = 9,
    // (undocumented)
    Setup = 4,
    // (undocumented)
    Teardown = 7
}

// @public (undocumented)
export enum CurlShareCode {
    // (undocumented)
    CURLSHE_BAD_OPTION = 1,
    // (undocumented)
    CURLSHE_IN_USE = 2,
    // (undocumented)
    CURLSHE_INVALID = 3,
    // (undocumented)
    CURLSHE_LAST = 6,
    // (undocumented)
    CURLSHE_NOMEM = 4,
    // (undocumented)
    CURLSHE_NOT_BUILT_IN = 5,
    // (undocumented)
    CURLSHE_OK = 0
}

// @public
export enum CurlShareLock {
    // (undocumented)
    DataConnect = 5,
    // (undocumented)
    DataCookie = 2,
    // (undocumented)
    DataDns = 3,
    // (undocumented)
    DataNone = 0,
    // (undocumented)
    DataPsl = 6,
    DataShare = 1,
    // (undocumented)
    DataSslSession = 4
}

// @public (undocumented)
export enum CurlShareOption {
    // (undocumented)
    SHARE = 1,
    // (undocumented)
    UNSHARE = 2
}

// @public
export enum CurlSshAuth {
    Agent = 16,
    Any = -1,
    // (undocumented)
    Default = -1,
    GssApi = 32,
    Host = 4,
    Keyboard = 8,
    None = 0,
    Password = 2,
    PublicKey = 1
}

// @public
export enum CurlSslOpt {
    AllowBeast = 1,
    NoRevoke = 2
}

// @public
export enum CurlSslVersion {
    // (undocumented)
    Default = 0,
    // (undocumented)
    SslV2 = 2,
    // (undocumented)
    SslV3 = 3,
    // (undocumented)
    TlsV1 = 1,
    // (undocumented)
    TlsV1_0 = 4,
    // (undocumented)
    TlsV1_1 = 5,
    // (undocumented)
    TlsV1_2 = 6,
    // (undocumented)
    TlsV1_3 = 7
}

// @public
export enum CurlSslVersionMax {
    // (undocumented)
    Default = 65536,
    // (undocumented)
    None = 0,
    // (undocumented)
    TlsV1_0 = 262144,
    // (undocumented)
    TlsV1_1 = 327680,
    // (undocumented)
    TlsV1_2 = 393216,
    // (undocumented)
    TlsV1_3 = 458752
}

// @public
export enum CurlTimeCond {
    // (undocumented)
    IfModSince = 1,
    // (undocumented)
    IfUnmodSince = 2,
    // (undocumented)
    LastMod = 3,
    // (undocumented)
    None = 0
}

// @public
export enum CurlUseSsl {
    // (undocumented)
    All = 3,
    // (undocumented)
    Control = 2,
    // (undocumented)
    None = 0,
    // (undocumented)
    Try = 1
}

// @beta
export function curly(url: string, options: CurlOptionValueType): Promise<CurlyResult>;

// @public
export interface CurlyResult {
    data: string;
    headers: HeaderInfo[];
    statusCode: number;
}

// @public
export class Easy {
    close(): void;
    dupHandle(): Easy;
    // Warning: (ae-forgotten-export) The symbol "GetInfoReturn" needs to be exported by the entry point index.d.ts
    getInfo(info: CurlInfoName): GetInfoReturn;
    // (undocumented)
    isInsideMultiHandle: boolean;
    monitorSocketEvents(): this;
    onSocketEvent(cb: ((error: Error | null, events: SocketState) => void) | null): this;
    pause(bitmask: CurlPause): CurlCode;
    perform(): CurlCode;
    recv(storage: Buffer): {
        code: CurlCode;
        bytesReceived: number;
    };
    reset(): CurlCode;
    send(data: Buffer): {
        code: CurlCode;
        bytesSent: number;
    };
    setOpt(option: 'SHARE', value: Share_2 | null): CurlCode;
    setOpt(option: 'HTTPPOST', value: HttpPostField[] | null): CurlCode;
    setOpt(option: 'GSSAPI_DELEGATION', value: CurlGssApi | null): CurlCode;
    setOpt(option: 'PROXY_SSL_OPTIONS', value: CurlSslOpt | null): CurlCode;
    setOpt(option: 'SSL_OPTIONS', value: CurlSslOpt | null): CurlCode;
    setOpt(option: Exclude<CurlOptionName, SpecificOptions>, value: string | number | boolean | null): CurlCode;
    setOpt(option: DataCallbackOptions, value: ((data: Buffer, size: number, nmemb: number) => number) | null): CurlCode;
    setOpt(option: ProgressCallbackOptions, value: ((dltotal: number, dlnow: number, ultotal: number, ulnow: number) => number) | null): CurlCode;
    setOpt(option: StringListOptions, value: string[] | null): CurlCode;
    setOpt(option: 'CHUNK_BGN_FUNCTION', value: ((fileInfo: FileInfo, remains: number) => number) | null): CurlCode;
    setOpt(option: 'CHUNK_END_FUNCTION', value: (() => number) | null): CurlCode;
    setOpt(option: 'DEBUGFUNCTION', value: ((type: number, data: Buffer) => void) | null): CurlCode;
    setOpt(option: 'FNMATCH_FUNCTION', value: ((pattern: string, value: string) => number) | null): CurlCode;
    setOpt(option: 'SEEKFUNCTION', value: ((offset: number, origin: number) => number) | null): CurlCode;
    setOpt(option: 'TRAILERFUNCTION', value: (() => string[] | false) | null): CurlCode;
    static strError(errorCode: CurlCode): string;
    unmonitorSocketEvents(): this;
    upkeep(): CurlCode;
}

// @public (undocumented)
export type FileInfo = {
    fileType: CurlFileType;
    time: Date;
    perm: number;
    uid: number;
    gid: number;
    size: number;
    hardLinks: number;
    strings: {
        time: string;
        perm: string;
        user: string;
        group: string;
        target: string | null;
    };
};

// @public (undocumented)
export type HeaderInfo = {
    result?: {
        version: string;
        code: number;
        reason: string;
    };
} & {
    'Set-Cookie'?: string[];
} & {
    [headerKey: string]: string;
};

// @public (undocumented)
export type HttpPostField = {
    name: string;
    contents: string;
} | {
    name: string;
    file: string;
    type?: string;
    filename?: string;
};

// @public
export class Multi {
    addHandle(handle: Easy): CurlMultiCode;
    close(): void;
    getCount(): number;
    onMessage(cb: ((error: Error, easyHandle: Easy, errorCode: CurlCode) => void) | null): this;
    static option: MultiOption;
    removeHandle(handle: Easy): CurlMultiCode;
    setOpt(option: MultiOptionName, value: number): CurlMultiCode;
    static strError(errorCode: CurlMultiCode): string;
}

// @public (undocumented)
export interface MultiOption {
    readonly CHUNK_LENGTH_PENALTY_SIZE: 'CHUNK_LENGTH_PENALTY_SIZE';
    readonly CONTENT_LENGTH_PENALTY_SIZE: 'CONTENT_LENGTH_PENALTY_SIZE';
    readonly MAX_HOST_CONNECTIONS: 'MAX_HOST_CONNECTIONS';
    readonly MAX_PIPELINE_LENGTH: 'MAX_PIPELINE_LENGTH';
    readonly MAX_TOTAL_CONNECTIONS: 'MAX_TOTAL_CONNECTIONS';
    readonly MAXCONNECTS: 'MAXCONNECTS';
    readonly PIPELINING: 'PIPELINING';
    readonly PIPELINING_SERVER_BL: 'PIPELINING_SERVER_BL';
    readonly PIPELINING_SITE_BL: 'PIPELINING_SITE_BL';
    readonly PUSHDATA: 'PUSHDATA';
    readonly PUSHFUNCTION: 'PUSHFUNCTION';
    readonly SOCKETDATA: 'SOCKETDATA';
    readonly SOCKETFUNCTION: 'SOCKETFUNCTION';
    readonly TIMERDATA: 'TIMERDATA';
    readonly TIMERFUNCTION: 'TIMERFUNCTION';
}

// @public (undocumented)
export type MultiOptionName = 'CHUNK_LENGTH_PENALTY_SIZE' | 'CONTENT_LENGTH_PENALTY_SIZE' | 'MAX_HOST_CONNECTIONS' | 'MAX_PIPELINE_LENGTH' | 'MAX_TOTAL_CONNECTIONS' | 'MAXCONNECTS' | 'PIPELINING' | 'PIPELINING_SERVER_BL' | 'PIPELINING_SITE_BL' | 'PUSHDATA' | 'PUSHFUNCTION' | 'SOCKETDATA' | 'SOCKETFUNCTION' | 'TIMERDATA' | 'TIMERFUNCTION';

// @public
export class Share {
    close(): void;
    static option: CurlShareOption;
    setOpt(option: CurlShareOption, value: CurlShareLock): CurlShareCode;
    static strError(errorCode: CurlShareCode): string;
}

// @public (undocumented)
export enum SocketState {
    // (undocumented)
    Readable = 1,
    // (undocumented)
    Writable = 2
}


// (No @packageDocumentation comment for this package)

```
