<?php

declare( strict_types=1 );

namespace Brightfern\Archive;

/**
 * Default no-op archive for v1. It fires a filter so a future archiving add-on
 * (or a site's own integration) can hook retention without a code change here.
 */
final class NullArchive implements ArchiveInterface {

	public function store( string $direction, string $xml, array $meta ): string {
		/**
		 * Phase-2 archiving hook. Return a non-empty retention reference to record
		 * that the document was archived.
		 *
		 * @param string              $reference Default empty.
		 * @param string              $direction "outbound" | "inbound".
		 * @param string              $xml
		 * @param array<string,mixed> $meta
		 */
		return (string) apply_filters( 'brightfern_archive_store', '', $direction, $xml, $meta );
	}
}
