import { type InjectConfiguratorInput } from '../types/inject-config.js';
export type { StringOrFunction, ElementConfig, ElementSelector } from '../types/inject-config.js';
export { ConfiguratorDisplayMode, CarouselDisplayMode, VariantDisplayMode, VariantDisplayStyleOverlay, CarouselLayout, } from '../types/config-enums.js';
export type { InjectConfiguratorOptions, LegacyInjectConfiguratorOptions, InjectConfiguratorInput, CarouselConfig, ConfiguratorConfig, VariantsConfig, ModulesConfig, Snap2VariantSheetSide, Snap2ModulePanelPosition, SelectorsConfig, CallbacksConfig, BrandingConfig, FlagsConfig, OnChangePayload, OnChangePricePayload, OnChangeSkuPayload, UnifiedOnChangePayload, UnifiedSkuPayload, UnifiedSkuPayloadSingle, UnifiedSkuPayloadMulti, UnifiedPricePayload, CommerceLineItemSku, CommerceLineItemPrice, CommerceLineItemSelection, OptionSkuMap, StringReplacementRuleTrigger, StringReplacementDefinitionKey, StringReplacementRule, StringReplacementsConfig, StringReplacementDefinition, StringInterpolationValueDefinition, StringReplacements, } from '../types/inject-config.js';
export { STRING_REPLACEMENT_DEFINITIONS } from '../lib/strings/string-keys.js';
type InjectInternalOptions = {
    skipConfigureButton?: boolean;
    multipleSnap2ReplaceButtons?: Array<{
        selector: string;
        configIndex: number;
    }>;
    switchToSnap2Config?: (index: number) => void;
};
export declare function injectConfigurator(opts: InjectConfiguratorInput | InjectConfiguratorInput[], _internal?: InjectInternalOptions): void;
