import React, { HTMLAttributes } from 'react';
import { Html5QrcodeResult } from 'html5-qrcode';
/**
* Base definition of SkodaFlow Modal component independent on core implementation.
*/
export interface ModalProps extends HTMLAttributes {
/**
* If true, the component is shown.
*/
open: boolean;
/**
* Callback used to close the modal.
*/
handleClose?: () => void;
/**
* Callback for the top button.
*/
onClickTopButton?: () => void;
/**
* Callback for the bottom button.
*/
onClickBottomButton?: () => void;
/**
* Accessibility.
*/
ariaLabelledby?: string;
/**
* Accessibility.
*/
ariaDescribedBy?: string;
/**
* Top button text.
*/
firstButton?: string;
/**
* Bottom button text.
*/
secondButton?: string;
/**
* If true, the second button is visible.
*/
secondButtonVisible?: boolean;
/**
* If true, the buttons are displayed as compact. The feature is only working for mobile view.
*/
hasCloseButton?: boolean;
/**
* The size of the modal in desktop view.
*/
size?: 'small' | 'large' | 'full-width';
defaultButtonSection?: boolean;
maxWidth?: string;
/**
* A callback used to track if the modal is fully loaded. When the modal is closed isLoaded is set to false.
*/
modalLoadedCallback?: (isLoaded: boolean) => void;
/**
* A string displayed as label of textfield.
*/
textfieldLabel?: string;
/**
* A string displayed as hading of modal.
*/
header?: string;
/**
* Callback is used to track of what was scanned and automatically confirmed, or what was read or manually added and then manually confirmed.
*/
onScannedResult?: (result: Html5QrcodeResult | string) => void;
/**
* A callback is used to monitor that a modal has been closed without asserting a value.
*/
onExit?: () => void;
}
/**
* @description Styled SkodaFlow Modal component
* @param props ModalProps
* @returns React Functional Component
*/
export declare const Modal: React.ForwardRefExoticComponent>;
export declare const ReaderContainer: import("@emotion/styled").StyledComponent, React.DetailedHTMLProps, HTMLDivElement>, {}>;