import { type HeaderValue } from './header-value.ts';
type SameSiteValue = 'Strict' | 'Lax' | 'None';
export interface SetCookieInit {
    /**
     * The domain of the cookie. For example, `example.com`.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#domaindomain-value)
     */
    domain?: string;
    /**
     * The expiration date of the cookie. If not specified, the cookie is a session cookie.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#expiresdate)
     */
    expires?: Date;
    /**
     * Indicates this cookie should not be accessible via JavaScript.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#httponly)
     */
    httpOnly?: true;
    /**
     * The maximum age of the cookie in seconds.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#max-age)
     */
    maxAge?: number;
    /**
     * The name of the cookie.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie-namecookie-value)
     */
    name?: string;
    /**
     * The path of the cookie. For example, `/` or `/admin`.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#pathpath-value)
     */
    path?: string;
    /**
     * The `SameSite` attribute of the cookie. This attribute lets servers require that a cookie shouldn't be sent with
     * cross-site requests, which provides some protection against cross-site request forgery attacks.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value)
     */
    sameSite?: SameSiteValue;
    /**
     * Indicates the cookie should only be sent over HTTPS.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#secure)
     */
    secure?: true;
    /**
     * The value of the cookie.
     *
     * [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie-namecookie-value)
     */
    value?: string;
}
/**
 * The value of a `Set-Cookie` HTTP header.
 *
 * [MDN `Set-Cookie` Reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie)
 *
 * [HTTP/1.1 Specification](https://datatracker.ietf.org/doc/html/rfc6265#section-4.1)
 */
export declare class SetCookie implements HeaderValue, SetCookieInit {
    domain?: string;
    expires?: Date;
    httpOnly?: true;
    maxAge?: number;
    name?: string;
    path?: string;
    sameSite?: SameSiteValue;
    secure?: true;
    value?: string;
    constructor(init?: string | SetCookieInit);
    toString(): string;
}
export {};
//# sourceMappingURL=set-cookie.d.ts.map