import type { AppDebug } from '@devvit/shared-types/Header.js'; declare global { var devvit: DevvitGlobal | undefined; } export type DevvitGlobal = { /** * Debug modes enabled by the case-insensitive devvitdebug CSV query * parameter. The parameter is split on commas and passed to devvit-debug * metadata. Missing values default to `'true'` and a value of `all` defaults * almost everything true. The convention is to interpret values as truthy. * This filed may contain unknown entries beyond the AppDebug typing to enable * development. * * See ContextDebugInfo for app side. * * Any type removals may cause type errors but not runtime errors. * * Prefix mode-specific logging like `[blocks]` or `[useChannel]`. Favor * console.debug() and set Chromium DevTools to verbose log levels. * console.debug() shows as verbose in compute-go so you have to route those * to Log() if you want to see them: * * // devvit-compute-go/internal/plugins/loggerplugin/logger.go * case logger.Severity_VERBOSE: * // there is no verbose. * log.Debug(message.Message, fields...) */ debug: { [debug in AppDebug]?: string; }; }; /** Query param on reddit.com and web view URLs for arbitrary data. */ export declare const queryParamDevvitDebug: string; /** Query param on reddit.com for app deep links. */ export declare const queryParamDevvitShare: string; export declare function getDevvitDebug(): string | undefined; export declare function getDevvitShareParam(): string | undefined; /** * The bookmarklet to enable recommended debugging is: * * ``` * javascript:(() => { * globalThis.devvit ??= {}; * globalThis.devvit.debug ??= {}; * globalThis.devvit.devvitDebug ??= []; * globalThis.devvit.debug.runtime = true; * globalThis.devvit.devvitDebug.push('runtime'); * const url = new URL(location.href); * url.searchParams.set('devvitdebug', 'runtime'); * history.replaceState(undefined, '', url); * console.log(`devvit debug enabled`, globalThis.devvit); * })() * ``` */ export declare function initDevvitGlobal(): void; //# sourceMappingURL=devvit-global.d.ts.map