import type { AuthClaimValue } from "./types.js"; export type AuthCookiePurpose = "session" | "transaction"; export type AuthCookiePayload = Readonly<{ readonly [key: string]: AuthClaimValue; }>; /** Raised only when a newly sealed auth cookie cannot fit its bounded envelope. */ export declare class AuthCookieSizeLimitError extends TypeError { } export interface OpenedAuthCookieEnvelope { readonly issuedAt: number; readonly expiresAt: number; readonly payload: AuthCookiePayload; } interface SealCommonOptions { readonly secret: string; readonly purpose: AuthCookiePurpose; readonly cookieName: string; readonly randomBytes?: (length: number) => Uint8Array; } interface SealAuthCookieEnvelopeOptions extends SealCommonOptions { readonly payload: AuthCookiePayload; readonly issuedAt: number; readonly expiresAt: number; } export interface OpenAuthCookieEnvelopeOptions { readonly secret: string; readonly purpose: AuthCookiePurpose; readonly cookieName: string; readonly value: string; readonly now: number; readonly maxLifetimeSeconds: number; } export declare function sealAuthCookieEnvelope(options: SealAuthCookieEnvelopeOptions): Promise; export declare function openAuthCookieEnvelope(options: OpenAuthCookieEnvelopeOptions): Promise; export {}; //# sourceMappingURL=crypto.d.ts.map