import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
import { ShareState } from './sharestate.js';
import IGirafePanel from '../../tools/state/igirafepanel.js';
declare class ShareComponent extends GirafeHTMLElement implements IGirafePanel {
templateUrl: null;
styleUrls: null;
template: () => import("uhtml").Hole;
isPanelVisible: boolean;
panelTitle: string;
panelTogglePath: string;
shareLink?: string;
qrCode?: string;
success: boolean;
twitterLogo: string;
facebookLogo: string;
linkedInLogo: string;
mailLogo: string;
iframeUrl?: string;
iframeCode?: string;
awaitingShareLink: boolean;
awaitingIframeUrl: boolean;
private urlShortener?;
private simpleMaskManager?;
private readonly eventsCallbacks;
private iframeSize;
get shareState(): ShareState;
get iframeWidth(): 400 | 600 | 800;
get iframeHeight(): 300 | 600 | 450;
constructor();
private initializeShortenerService;
render(): void;
/**
* Renders the component by calling the necessary methods.
* @private
*/
private renderComponent;
/**
* Renders an empty component when it's not visible.
* @private
*/
private renderEmptyComponent;
private clearLink;
private registerEvents;
private unregisterEvents;
generateAndCopyLink(): Promise;
generateAndCopyIframeCode(): Promise;
private generateShareLink;
private generateIframeCode;
closeWindow(): void;
shareFacebook(): void;
shareTwitter(): void;
shareLinkedIn(): void;
shareMail(): void;
private copyToClipboard;
onSizeChanged(event: Event): void;
/**
* Displays a greyed out area in the main map indicating the size of the embedded map.
*/
private showMapPreview;
private hideMapPreview;
private showCopySuccessEffect;
togglePanel(isVisible: boolean): void;
protected connectedCallback(): void;
}
export default ShareComponent;