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 totally empty
     * devvitdebug query parameter 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;
    };
};
/**
 * 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