import type { Context } from "hono"; export interface PublicCapabilityPayload { v: 1; scope: string; subjectId: string; actions: string[]; iat: number; exp: number; jti?: string; } export interface CreatePublicCapabilityOptions { secret: string; scope: string; subjectId: string; actions: string[]; ttlSeconds: number; now?: Date; jti?: string; } export interface VerifyPublicCapabilityOptions { secret: string; scope: string; subjectId: string; action: string; now?: Date; } export interface PublicCapabilityCookieOptions { name: string; token: string; expiresAt: Date; secure?: boolean; sameSite?: "Strict" | "Lax" | "None"; path?: string; } export declare function createPublicCapabilityToken(options: CreatePublicCapabilityOptions): Promise<{ token: string; payload: PublicCapabilityPayload; expiresAt: Date; }>; export declare function verifyPublicCapabilityToken(token: string, options: VerifyPublicCapabilityOptions): Promise; export declare function extractPublicCapabilityToken(c: Context, options?: { headerName?: string; cookieName?: string; }): string | null; export declare function serializePublicCapabilityCookie(options: PublicCapabilityCookieOptions): string;