import type { PlatformAdapter } from './PlatformAdapter';
/**
 * Shopify-specific platform adapter.
 *
 * Detects Shopify storefronts and hooks into Shopify's section rendering
 * lifecycle events (`shopify:section:load` / `shopify:section:unload`) so
 * the runtime can react to dynamic section swaps in Shopify Online Store 2.0.
 */
export declare class ShopifyAdapter implements PlatformAdapter {
    readonly name: "shopify";
    private loadCallbacks;
    private unloadCallbacks;
    private abortController;
    private antiFlicker;
    private readonly initTimeoutMs;
    constructor(options?: {
        initTimeoutMs?: number;
    });
    detect(): boolean;
    /**
     * Wait for Shopify sections to be ready, then attach lifecycle listeners.
     *
     * Resolution order:
     * 1. `.shopify-section` already in DOM -> resolve immediately
     * 2. `shopify:section:load` fires -> resolve
     * 3. Timeout (default 3000ms) -> resolve anyway (graceful degradation)
     */
    onInit(): Promise<void>;
    onRegionDidLoad(callback: (regionId: string) => void): () => void;
    onRegionWillUnload(callback: (regionId: string) => void): () => void;
    onRegionMutated(_regionId: string): void;
    getAnchorScope(anchor: Element): string;
    destroy(): void;
    private attachSectionListeners;
    private waitForInitialSections;
}
