import { type ErrorInfo } from 'react';
import { type FireEventFunction } from '../../common/analytics/types';
import { type Icon } from '../../state/flexible-ui-context/types';
import { type InvokeClientActionProps } from '../../state/hooks/use-invoke-client-action/types';
import { type WithAnalytics } from './components/analytics/types';
export declare enum EmbedModalSize {
    Large = "large",
    Small = "small"
}
export type EmbedModalContext = {
    duration?: number;
    size: EmbedModalSize;
};
export type EmbedModalProps = {
    extensionKey?: string;
    fireEvent?: FireEventFunction;
    iframeName: string;
    invokeDownloadAction?: InvokeClientActionProps;
    invokeViewAction?: InvokeClientActionProps;
    isBlanketHidden?: boolean;
    isInPreviewPanel?: boolean;
    isSupportTheming?: boolean;
    isTrusted?: boolean;
    linkIcon?: Icon;
    onClose: (context: EmbedModalContext) => void;
    onOpen?: (context: EmbedModalContext) => void;
    onOpenFailed?: (error: Error, errorInfo: ErrorInfo) => void;
    onResize?: (context: EmbedModalContext) => void;
    providerName?: string;
    showModal?: boolean;
    size?: EmbedModalSize;
    src?: string;
    testId?: string;
    title?: string;
    url?: string;
} & WithAnalytics;
