//#region src/plugins/bearer/types.d.ts type BearerPlugin = { bearer: { /** Currently stored tokens, or `null` if signed out / never set. */getTokens: () => BearerTokens | null; /** Manually persist tokens. */ setTokens: (tokens: BearerTokens) => void; /** Discard stored tokens. Also runs automatically on `signOut`. */ clear: () => void; }; }; type BearerTokens = { accessToken: string; refreshToken?: string; }; interface BearerStorage { get(): BearerTokens | null; set(tokens: BearerTokens): void; clear(): void; } type BearerPluginConfig = { /** * Where to persist tokens. Defaults to `localStorage` when available, * otherwise an in-memory store (SSR / non-browser). */ storage?: BearerStorage; /** * Key used by the default `localStorage` adapter. Ignored when a custom * `storage` is supplied. Defaults to `"limen.tokens"`. */ storageKey?: string; }; //#endregion export { BearerPlugin, BearerPluginConfig, BearerStorage, BearerTokens };