import { IPaywall, type NamiFlow, type NamiFlowAnimation, type NamiCampaign, type NamiPaywallLaunchContext } from '@namiml/sdk-core';
import { LitElement, TemplateResult } from 'lit';
declare class PaywallComponent extends LitElement {
    campaign: NamiCampaign | undefined;
    paywall: IPaywall | undefined;
    flow: NamiFlow | undefined;
    pages: IPaywall[];
    private currentOffset;
    private presentationStyle;
    private _sheetEntranceActive;
    private context;
    private formFactor;
    private timeSpentOnPaywall;
    private type;
    private value;
    private animation;
    private _originalBodyStyles;
    private _originalDocumentStyles;
    private _swipeHandler;
    private _halfSheetAbortController?;
    private _savedScrollY;
    private _sheetDragStartY;
    private _sheetIsDragging;
    private _dismissThreshold;
    private _detachFocusSpeechListeners?;
    private _boundHandleKeyDownEvent;
    constructor(type: string | undefined, value: string, context: NamiPaywallLaunchContext);
    private applyPresentationHostClasses;
    setPaywallData(): void;
    private getPresentationStyle;
    private get isHalfSheet();
    private get isSheet();
    private get isOverlaySheet();
    private get isModal();
    private get isOverlay();
    connectedCallback(): void;
    disconnectedCallback(): void;
    private _stylesAlreadySaved;
    private setOriginalStyles;
    private restoreStyles;
    private handleKeyDownEvent;
    private handleBackdropClick;
    private animateSheetDismiss;
    private handleSwipeEvent;
    private setupHalfSheetDragTracking;
    private setupHalfSheetFocusTrap;
    firstUpdated(): void;
    updated(changedProperties: Map<string, unknown>): void;
    static styles: import("lit").CSSResult[];
    private getAnimationStyles;
    private updatePages;
    private animateFullscreenEntry;
    private _captureExitOverlay;
    private _slideExitOverlayAway;
    flowNavigateToScreen(next: IPaywall, animation: NamiFlowAnimation): Promise<void>;
    getSelectedSlideIndexForCurrentCarousel(): number | undefined;
    private renderFlow;
    private renderFlowContainer;
    private renderHalfSheet;
    private renderModal;
    private renderPaywall;
    render(): TemplateResult;
}
export { PaywallComponent };
