import { CSSProperties, FC } from "react";

//#region src/components/Browser/Browser.d.ts
type BrowserProps = {
  /** Initial URL to load in the iframe */
  initialUrl?: string;
  /** Additional CSS classes for the container */
  className?: string;
  /** Inline styles for the container */
  style?: CSSProperties;
  /** Size of the browser window */
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
  /** Accessible label for screen readers describing the browser purpose */
  'aria-label'?: string;
  /** Sandbox attribute for the iframe to control security restrictions */
  sandbox?: string;
};
/**
 * Browser component that renders an iframe with a visible, editable URL bar.
 * Allows users to view, edit, and navigate to different URLs within an embedded browser interface.
 *
 * Features:
 * - Editable URL bar with strict validation (before navigation)
 * - Automatic protocol addition (adds https:// if missing)
 * - Integrated reload button inside the URL input
 * - Error handling with visual feedback for invalid URLs
 * - Responsive iframe with standardized sizes
 * - Full accessibility support with ARIA attributes
 * - Sandbox security for iframe content
 * - Dark-themed UI matching modern browser aesthetics
 * - Cross-browser compatibility (Chrome, Firefox, Safari)
 *
 * @example
 * // Basic usage
 * <Browser initialUrl="https://example.com" size="md" />
 *
 * @example
 * // With custom size and styling
 * <Browser
 *   initialUrl="https://example.com"
 *   size="lg"
 *   className="shadow-2xl"
 *   aria-label="Documentation viewer"
 * />
 *
 * @example
 * // For content preview
 * <Browser
 *   initialUrl="https://youtube.com/embed/VIDEO_ID"
 *   size="xl"
 *   aria-label="Video content browser"
 * />
 *
 * @example
 * // With custom sandbox restrictions
 * <Browser
 *   initialUrl="https://example.com"
 *   sandbox="allow-scripts allow-same-origin"
 *   aria-label="Restricted content browser"
 * />
 *
 * @param initialUrl - The initial URL to load in the iframe (default: 'https://example.com')
 * @param className - Additional CSS classes for the main container element
 * @param style - Inline CSS styles for the main container element
 * @param size - Size of the browser window: 'xs' (400px), 'sm' (500px), 'md' (600px), 'lg' (800px), 'xl' (1000px). Defaults to 'md'
 * @param aria-label - Accessible label for screen readers describing the browser's purpose (default: 'Embedded browser')
 * @param sandbox - Sandbox attribute for the iframe to control security restrictions (default: 'allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox allow-downloads')
 */
declare const Browser: FC<BrowserProps>;
//#endregion
export { Browser, BrowserProps };
//# sourceMappingURL=Browser.d.ts.map