/**
 * `ActionRegistry` — query and filter utility over `ActionSpecUnion[]`.
 *
 * Vocabulary (see the `docs/` directory):
 * - `*_handled_*` — request_response specs the named side **receives**
 *   (so the named side owns the handler). Used by codegen to emit typed
 *   handler maps.
 * - `*_relevant_to_*` — the loose "everything this side might encounter"
 *   set, used by the typed-Proxy method enums (`FrontendActionMethod`,
 *   `BackendActionMethod`).
 * - `broadcast_*` — kind-narrow `remote_notification` set with the
 *   `streams`-target exclusion. Today this matches what the broadcast
 *   API exposes.
 * - `backend_initiated_*` — forward-looking kind-agnostic version of the
 *   broadcast set. Same content today; will diverge when local_calls or
 *   backend `request_response` join the backend's typed surface.
 *
 * Cache discipline: `spec_by_method` (Map) and the internal streams-target
 * set lazy-memoize because the Map is consulted per-RPC dispatch
 * (`actions/frontend_rpc_client.ts` wires it into `lookup_action_spec`) and the
 * streams set is rebuilt by two public getters. Array-returning getters
 * recompute on each call so callers can mutate the result freely
 * (`.sort()`, `.push(injected)` on a copy, etc.) without affecting the
 * registry — codegen is a build-time path where the extra `.filter` /
 * `.map` work is negligible.
 *
 * @module
 */
import type { ActionSpecUnion, RequestResponseActionSpec, RemoteNotificationActionSpec, LocalCallActionSpec } from './action_spec.js';
export declare class ActionRegistry {
    #private;
    readonly specs: Array<ActionSpecUnion>;
    constructor(specs: Array<ActionSpecUnion>);
    get spec_by_method(): Map<string, ActionSpecUnion>;
    get methods(): Array<string>;
    get request_response_specs(): Array<RequestResponseActionSpec>;
    get remote_notification_specs(): Array<RemoteNotificationActionSpec>;
    get local_call_specs(): Array<LocalCallActionSpec>;
    get request_response_methods(): Array<string>;
    get remote_notification_methods(): Array<string>;
    get local_call_methods(): Array<string>;
    get specs_relevant_to_frontend(): Array<ActionSpecUnion>;
    get specs_relevant_to_backend(): Array<ActionSpecUnion>;
    get methods_relevant_to_frontend(): Array<string>;
    get methods_relevant_to_backend(): Array<string>;
    get frontend_handled_specs(): Array<RequestResponseActionSpec>;
    get backend_handled_specs(): Array<RequestResponseActionSpec>;
    get frontend_handled_methods(): Array<string>;
    get backend_handled_methods(): Array<string>;
    get broadcast_specs(): Array<RemoteNotificationActionSpec>;
    get broadcast_methods(): Array<string>;
    get backend_initiated_specs(): Array<ActionSpecUnion>;
    get backend_initiated_methods(): Array<string>;
    get backend_to_frontend_specs(): Array<ActionSpecUnion>;
    get frontend_to_backend_specs(): Array<ActionSpecUnion>;
    get frontend_to_backend_methods(): Array<string>;
    get backend_to_frontend_methods(): Array<string>;
    get public_specs(): Array<ActionSpecUnion>;
    get authenticated_specs(): Array<ActionSpecUnion>;
    get public_methods(): Array<string>;
    get authenticated_methods(): Array<string>;
}
//# sourceMappingURL=action_registry.d.ts.map