import { default as CxIframe } from '../../../atoms/src/components/iframe/iframe.ts';
import { default as CortexElement } from '../../../base/src/cortex-element.ts';
import { CxIframeLoading } from '../../../types/src/iframe';
import { CSSResultGroup } from 'lit';

/**
 * @summary CxDashboardIframe
 */
export default class CxDashboardIframe extends CortexElement {
    static readonly styles: CSSResultGroup;
    static readonly dependencies: {
        'cx-iframe': typeof CxIframe;
    };
    /**
     * The source ID of the dashboard
     */
    src: string;
    /**
     * Title for accessibility
     */
    name: string;
    /**
     * Lazy/eager loading
     */
    iframeLoading: CxIframeLoading;
    /**
     * The 'allow' attribute for the iframe (e.g. "fullscreen; autoplay")
     */
    allow: string;
    /**
     * The 'sandbox' attribute for the iframe (e.g. "allow-scripts allow-same-origin")
     */
    sandbox: string;
    /**
     * The 'referrerpolicy' attribute for the iframe (e.g. "no-referrer")
     */
    referrerPolicy: string;
    /**
     * Whether to allow fullscreen mode
     */
    canFullscreen: boolean;
    /**
     * Whether the iframe is currently loading content
     */
    loading: boolean;
    /**
     * Page ID of the content builder.
     * This is mainly used as parameter for the anonymous API calls.
     * https://link.orangelogic.com/Tasks/41SJF4
     */
    pageId: string;
    frameSrc: string;
    private fetchDashboardUrl;
    handleSourceChange(): Promise<void>;
    render(): import('lit').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'cx-dashboard-iframe': CxDashboardIframe;
    }
}
