import { CookieConfig, ResponseCookieBuilder as ResponseCookieBuilderContract } from '@supercharge/contracts'; type Units = 'Years' | 'Year' | 'Y' | 'Weeks' | 'Week' | 'W' | 'Days' | 'Day' | 'D' | 'Hours' | 'Hour' | 'H' | 'Minutes' | 'Minute' | 'Min' | 'M' | 'Seconds' | 'Second' | 'Sec' | 's' | 'Milliseconds' | 'Millisecond' | 'Ms'; type UnitAnyCase = Lowercase | Units; export type StringTime = `${number}` | `${number}${UnitAnyCase}` | `${number} ${UnitAnyCase}`; export declare class ResponseCookieBuilder implements ResponseCookieBuilderContract { /** * Stores the cookies options used to set a cookie value on the response. */ private readonly responseCookieConfig; /** * Create a new instance. */ constructor(options: CookieConfig); /** * Creates a cookie that expires in `time` milliseconds from now. */ expiresIn(time: StringTime | number): this; /** * Creates a cookie that expires at the given `date` time in the future. */ expiresAt(date: Date): this; /** * The URL path on the server on which the cookie will be available. */ path(path: string): this; /** * The domain that the cookie will be available to. */ domain(domain: string): this; /** * Mark the cookie to be only available on HTTPS connections. */ secure(): this; /** * Mark the cookie to be available on HTTP and HTTPS connections. */ unsecured(): this; /** * Mark the cookie to be only accessible through the HTTP protocol * and not available to client-side JavaScript. */ httpOnly(httpOnly?: boolean): this; /** * Determine how the cookie behaves on cross-site requests. */ sameSite(attribute: 'strict' | 'lax' | 'none' | true): this; /** * The cookie will be signed using the app key. */ signed(): this; /** * The cookie will be sent in plain text. */ unsigned(): this; /** * Mark this cookie to overwrite any previously set cookie with the same name. */ overwrite(): this; /** * Merge the given `config` with the default HTTP cookie config. */ useConfig(config: Partial): this; } export {};