import type { App } from "./app/app.js"; import type { CollectionItem } from "./main.js"; export default class Context { timestamp: number; ip: string | null; user_id: string | null; user_data: null | Promise; loading_user_data: boolean; session_id: string | null; is_super: boolean; original_context: Context | null; cache_entries: Record; /** in order from most prefered to least */ accepted_languages: string[]; app: TheApp; constructor({ app, timestamp, user_id, session_id, accepted_languages, }: { app: TheApp; timestamp?: number; user_id?: string | null; session_id?: string | null; accepted_languages?: string[]; }); cache(key: string, getter: () => Promise): Promise; getUserData(): Promise; getRoles(): Promise; toDBEntry(): { timestamp: number; ip: string | null; user_id: string | null; session_id: string | null; }; getI18nKey(static_fragments: TemplateStringsArray): string; i18n(static_fragments: TemplateStringsArray, ...values: (string | number)[]): string; } export declare class SuperContext extends Context { is_super: boolean; cache(_key: string, getter: () => Promise): Promise; }