> */ public function read_nodes( int $post_id ): array; /** * Normalized nodes of a given stored representation. * * @param string $raw Stored representation. * @param int $post_id Post id (for the nodes' page_id). * @return array> * @throws \RuntimeException When the content cannot be read safely. */ public function nodes_from( string $raw, int $post_id ): array; /** * Structural anchors of a stored representation, for placing NEW blocks: top-level sections * and container elements (depth ≤ 2), in reading order: * {id, type (container|section|column / block name), label, title, path, depth, top_id, * contains (widget / block types inside, ≤ 6), excerpt (first text inside), can_contain * (inside_first / inside_last allowed), hidden_on?} * * @param string $raw Stored representation. * @param int $post_id Post id. * @return array> * @throws \RuntimeException When the content cannot be read safely. */ public function sections( string $raw, int $post_id ): array; }