/**
 * Event type filtering for the CLI `--events` flag.
 *
 * Mirrors the web UI's "Filter by type" modal, which groups event types into
 * two categories: user-facing events (on by default) and system/debug events
 * (off by default).
 *
 * The canonical event type list is generated from the backend EventType enum
 * (see generated-types.ts). The user/system grouping is a UI concern defined
 * here and in www/src/components/EventTypeFilters/types.ts.
 */
import type { EventType } from './generated-types.js';
/**
 * User-facing event types — shown by default (mirrors web UI defaults).
 */
export declare const USER_EVENT_TYPES: readonly EventType[];
/**
 * System / debug event types — hidden by default (mirrors web UI defaults).
 */
export declare const SYSTEM_EVENT_TYPES: readonly EventType[];
/**
 * Default active filter: all user-facing types, no system types.
 */
export declare const DEFAULT_EVENT_TYPES: Set<string>;
/**
 * Parse the value of the `--events` flag into a Set of event type names.
 *
 * Whatever you pass replaces the defaults entirely:
 *  - `none`   → empty set (no event types shown)
 *  - `user`   → all USER_EVENT_TYPES (same as default)
 *  - `system` → only SYSTEM_EVENT_TYPES
 *  - `all`    → both USER_EVENT_TYPES + SYSTEM_EVENT_TYPES
 *
 * Comma-separated for fine-grained control:
 *  - `agent_console,llm_start` → only those two types
 *  - `user,system` → same as `all`
 */
export declare function parseEventFilter(raw: string): Set<string>;
/**
 * Check whether an event should be shown given the active filter.
 *
 * Returns `true` when the event type is in the filter set.
 *
 * Note: certain event types (e.g. `agent_notification_progress`,
 * `agent_notification_message`) drive core UI state (spinner, chat history)
 * and are always processed regardless of the filter; only their *display* is
 * gated here for new/optional event types.
 */
export declare function shouldShowEvent(type: string, filter: Set<string>): boolean;
//# sourceMappingURL=event-filter.d.ts.map