import { Equals } from "../framework/equals";
import { Identifiable } from "../framework/identifiable";
import { Cloneable } from "../framework/cloneable";
export declare enum SameSite {
    NONE = "None",
    LAX = "Lax",
    STRICT = "Strict"
}
export declare class Cookie implements Equals, Identifiable, Cloneable<Cookie> {
    private readonly _name;
    private readonly _value;
    private _version;
    private _path?;
    private _domain?;
    private _comment?;
    private _maxAge?;
    private _expiry?;
    private _secure?;
    private _httpOnly?;
    private _sameSite?;
    constructor(name: string, value?: string, version?: number, path?: string, domain?: string, comment?: string, maxAge?: number, expiry?: Date, secure?: boolean, httpOnly?: boolean, sameSite?: SameSite);
    id(): string;
    clone(): Cookie;
    equals(other: any): boolean;
    get name(): string;
    get value(): string;
    get version(): number;
    set version(value: number);
    get path(): string | undefined;
    set path(value: string | undefined);
    get domain(): string | undefined;
    set domain(value: string | undefined);
    get comment(): string | undefined;
    set comment(value: string | undefined);
    get maxAge(): number | undefined;
    set maxAge(value: number | undefined);
    get expiry(): Date | undefined;
    set expiry(value: Date | undefined);
    get secure(): boolean | undefined;
    set secure(value: boolean | undefined);
    get httpOnly(): boolean | undefined;
    set httpOnly(value: boolean | undefined);
    get sameSite(): SameSite | undefined;
    set sameSite(value: SameSite | undefined);
    static fromString(header?: string): Cookie | undefined;
    toString(): string;
}
