import type { SessionData, SessionStore } from '@stacksjs/bun-router';
export declare interface EncryptedSessionStoreOptions {
  appKey?: string
}
/**
 * Wrap a bun-router `SessionStore<SessionData>` so all writes are
 * encrypted on the way in and decrypted on the way out. Drop-in
 * replacement for any of the built-in stores.
 */
export declare class EncryptedSessionStore implements SessionStore<SessionData> {
  constructor(inner: SessionStore<SessionData>, opts?: EncryptedSessionStoreOptions);
  set(sid: string, session: SessionData, ttl?: number): Promise<void>;
  touch(sid: string, session: SessionData, ttl?: number): Promise<void>;
  get(sid: string): Promise<SessionData | null>;
  destroy(sid: string): Promise<void>;
  all(): Promise<Record<string, SessionData>>;
  length(): Promise<number>;
  clear(): Promise<void>;
}
