import * as tough from 'tough-cookie'; import type { CookiesIndex } from '../cookies-index.js'; export type ParseNetscapeCookiesOptions = { forceParse?: boolean; httpOnlyExtension?: boolean; filePath?: string; onLineError?: (line: string, lineNumber: number) => void; }; /** * Parses the text of a netscape cookies.txt file line-by-line, yielding each cookie and its canonical domain. * @param {string} data - The string content of the cookies file. * @param {object} options - Options for loading the cookies file. * @returns {Generator} a generator that yields each cookie */ export declare function parseNetscapeCookiesTxtLineByLine(data: string, options?: ParseNetscapeCookiesOptions): Generator; /** * Parses the text of a netscape cookies.txt file into an array of cookies * @param {string} data - The string content of the cookies file. * @param {object} options - Options for loading the cookies file. * @returns {Cookie[]} the parsed cookies */ export declare function parseNetscapeCookiesTxtToIndex(data: string, options: ParseNetscapeCookiesOptions): CookiesIndex; export type StringifyNetscapeCookiesOptions = { httpOnlyExtension?: boolean; }; /** * Serializes the text of a netscape cookies.txt file from a cookies index. * @param {CookiesIndex} cookies - The object containing all the cookies. * @param {object} options - Options for serializing the cookies file. * @returns {string} the serialized netscape cookies file. */ export declare function stringifyNetscapeCookiesTxt(cookies: CookiesIndex, options?: StringifyNetscapeCookiesOptions): string; /** * Serializes a Cookie object into a line for a cookies.txt file. This does not include the trailing newline. * @param {Cookie} cookie - The cookie to serialize * @param {object} options - Options for serializing the cookie * @returns {string} the serialized netscape cookies.txt line. */ export declare function stringifyNetscapeCookiesTxtLine(cookie: tough.Cookie, options?: StringifyNetscapeCookiesOptions): string;