type SameSite = "strict" | "lax" | "none"; type Priority = "low" | "medium" | "high"; type NoSemicolon = T extends `${string};${string}` ? never : T; type NonEmpty = T extends "" ? never : T; /** RFC6265 */ export type CookieName = NonEmpty extends never ? never : T extends `${string};${string}` | `${string}=${string}` ? never : T; export type CookieValue = T extends string ? (NonEmpty extends never ? never : NoSemicolon) : null; export interface CookieOptions { /** Absolute expiration date */ expires?: Date; /** Max-Age in seconds (integer) */ maxAge?: number; domain?: string; path?: string; secure?: boolean; httpOnly?: boolean; sameSite?: SameSite; priority?: Priority; /** Chromium Partitioned cookies */ partitioned?: boolean; } export default class Cookie { private _precompiled?; constructor(name: CookieName, value: CookieValue, options?: Readonly); private _name; get name(): CookieName; private _value; get value(): CookieValue; private _options; get options(): Readonly; compile(): string; setOptions(options: Readonly>): void; setValue(value: CookieValue): void; setName(name: CookieName): void; private encodeCookieValue; private capitalize; } export {};