import * as React from "react";
import type { SwapMap } from "../theme-cards/swap";
export interface DrawerCtx {
    isOpen: boolean;
    setOpen: (v: boolean) => void;
}
export declare const DrawerContext: React.Context<DrawerCtx | null>;
export declare function DrawerProvider({ children, }: {
    children: React.ReactNode;
}): React.ReactElement;
/**
 * Theme harvest context — carries the server-harvested card template HTML,
 * swap map, and merchant money_format from mountLayout opts down to
 * SearchResults without polluting the LayoutConfig schema. SCRUM-267.
 */
export interface ThemeHarvestCtx {
    cardTemplateHtml: string;
    swapMap: SwapMap;
    /** Merchant's Shopify money_format template (e.g. "₹{{amount}}"). */
    moneyFormat?: string;
    /** Harvested predictive-search row template HTML (null when unavailable). */
    predictiveCardTemplateHtml?: string | null;
    /** Swap map for predictive rows — form is always null. */
    predictiveSwapMap?: SwapMap | null;
    /** CSS class of the theme's product-rows <ul> (predictive grid sizing). */
    predictiveListClass?: string | null;
    /** outerHTML of one harvested theme query-suggestion chip. */
    suggestionChipTemplateHtml?: string | null;
    /** CSS class of the theme's chips <ul>. */
    suggestionListClass?: string | null;
    /** CSS selectors inside the chip for text node(s) and anchor(s). */
    suggestionChipSwap?: {
        text: string;
        link: string;
    } | null;
}
export declare const ThemeHarvestContext: React.Context<ThemeHarvestCtx | null>;
export declare function applyContextWiredProps(componentName: string, baseProps: Record<string, unknown>, drawer: DrawerCtx | null, themeHarvest?: ThemeHarvestCtx | null): Record<string, unknown>;
//# sourceMappingURL=context-wired-props.d.ts.map