<?php

declare(strict_types=1);

namespace CliqThemes\StoreLocator\Extensions;

defined('ABSPATH') || exit;

/**
 * Something that adds to the plugin without the plugin knowing about it.
 *
 * Every file in this directory is discovered and registered on boot, so an
 * extension is added by dropping a class in and removed by deleting it. Nothing
 * enumerates what is here, which is what lets a build ship a subset of the
 * extensions without editing the code that loads them.
 *
 * An extension registers hooks and filters. It should not do work at
 * construction: it is built on every request, including ones that never reach
 * the feature it adds.
 */
interface Extension
{
    public function register(): void;
}
