<?php
/**
 * Data Locations Interface
 *
 * Optional interface for modules to declare their data storage locations.
 * Used for cleanup integration and documentation. Modules that store data
 * (options, tables, meta) should implement this interface.
 *
 * @package WP_PowerSuite\Core\Contracts
 * @since 1.0.0
 */

namespace WP_PowerSuite\Core\Contracts;

/**
 * Data Locations Interface
 *
 * @since 1.0.0
 */
interface DataLocationsInterface {

	/**
	 * Get data storage locations used by this module.
	 *
	 * Return structure matches DataRegistry patterns for cleanup during uninstall.
	 * OptionStore keys are stored in wp_powersuite_settings and cleaned via option patterns.
	 *
	 * @return array{
	 *   options?: array<string>,
	 *   option_store_keys?: array<string>,
	 *   tables?: array<string>,
	 *   post_meta?: array<string>,
	 *   user_meta?: array<string>
	 * }
	 */
	public function getDataLocations(): array;
}
