declare global {
    interface Window {
        __mtx?: {
            state?: 'initializing' | 'active';
        };
    }
}
import React from 'react';
import type { AddWidgetConfig, MarketrixConfig, MarketrixWidgetProps } from './types';
import { getCurrentConfig } from './utils/bootstrap';
export declare const initWidget: (config: MarketrixConfig, container?: HTMLElement) => Promise<void>;
export declare const unmountWidget: () => void;
/**
 * Stop RRWeb session recording without unmounting the widget.
 * Keeps the SessionRecorder instance so recording can be restarted with startRecording().
 * SessionRecorder.stop() aborts in-flight start() via stopRequested.
 */
export declare const stopRecording: () => void;
/**
 * Start RRWeb session recording. Use after stopRecording() to resume, or when recording was not started on init.
 * Safe to call while auto-start is in-flight — awaits the pending start instead of creating a concurrent one.
 * @throws Error if session recorder was never created (e.g. missing mtxApiHost/mtxApp).
 */
export declare const startRecording: () => Promise<void>;
/**
 * Returns whether RRWeb session recording is currently active.
 */
export declare const getRecordingState: () => boolean;
export declare const updateMarketrixConfig: (newConfig: Partial<MarketrixConfig>) => Promise<void>;
export { getCurrentConfig };
/**
 * MarketrixWidget - React component for preview mode
 * Renders widget into parent container with shadow DOM
 */
export declare const MarketrixWidget: React.FC<MarketrixWidgetProps>;
/**
 * addWidget - Function that auto-detects mode and initializes widget
 * Supports preview, production, and dev modes
 */
export declare const mountWidget: (config: AddWidgetConfig) => Promise<void>;
export type { InstructionType } from './sdk';
export type { AddWidgetConfig, ChatMessage, MarketrixConfig, MarketrixWidgetProps, WidgetState } from './types';
declare const _default: {
    MarketrixWidget: React.FC<MarketrixWidgetProps>;
    mountWidget: (config: AddWidgetConfig) => Promise<void>;
    initWidget: (config: MarketrixConfig, container?: HTMLElement) => Promise<void>;
    unmountWidget: () => void;
    updateMarketrixConfig: (newConfig: Partial<MarketrixConfig>) => Promise<void>;
    getCurrentConfig: () => MarketrixConfig | null;
    startRecording: () => Promise<void>;
    stopRecording: () => void;
    getRecordingState: () => boolean;
};
export default _default;
//# sourceMappingURL=index.d.ts.map