/** * `events` namespace — the cursored project events feed (gateway * `project-events-outbox`). One call answers "what happened to my project * since I last looked": deploy activations, mailbox suspensions, transfers, * lifecycle cliffs, verification outcomes — each with platform-synthesized * `next_actions[]` drill-downs. * * Cursor contract (opaque, store-and-echo): keep the page's `cursor` * wherever you keep state and pass it back as `{ cursor }` next time. An * unusable cursor never errors — the page returns `reset: true` + * `earliest_cursor` and restarts from the earliest retained event. Events * become visible within seconds of commit (a short visibility watermark * orders concurrent transactions) and are never lost after it. * * Exposed both unscoped (`r.events.list(projectId, …)`) and project-scoped * (`r.project(id).events.list(…)`), mirroring `r.grants` / `r.functions`. * The read is never lifecycle-gated: a frozen project's feed stays readable. * * `{ source, eventType }` filter the app-emitted lane from the platform's * own events — see {@link ListEventsOptions}. Consumers should key on * `(source, event_type)` together, since the platform's vocabulary and an * app's own `event_type` names are only disambiguated by the pair. */ import type { Client } from "../kernel.js"; import type { ListEventsOptions, ProjectEventFeedPage } from "./events.types.js"; export declare class Events { private readonly client; constructor(client: Client); /** * Read a page of a project's events feed * (`GET /projects/v1/:project_id/events`). Accepted credentials: the * project's own service_key, a SIWX/control-plane principal with * `project.read`, or a scoped delegate. `opts.source` / `opts.eventType` * filter to the app lane, the platform lane, or one-or-more event types; * both compose with `cursor`/`limit` unchanged. */ list(projectId: string, opts?: ListEventsOptions): Promise; /** * Read the org-wide feed (`GET /orgs/v1/:org_id/events`) — every fact the * organization owns. That is a SUPERSET of its project feeds, not a union * of them: it also carries organization-level facts, which belong to no * project, arrive with `project_id: null`, and are unreachable from any * project feed. * * Principal-only: requires an active org membership; a project service_key * is rejected by the gateway. Same `opts.source` / `opts.eventType` filters * as {@link list}. * * Cursors do NOT interchange with {@link list}, even though an event's `id` * is the same in both — a cursor names a position inside one projection. * Carrying one across returns `reset: true`; see {@link ListEventsOptions.cursor}. */ listForOrg(orgId: string, opts?: ListEventsOptions): Promise; } //# sourceMappingURL=events.d.ts.map