import type { ButtonStyles, ModalStyles } from "./types";
export declare class PrimeStyleTryon extends HTMLElement {
    private shadow;
    private apiClient;
    private sseClient;
    private sseUnsubscribe;
    private state;
    private selectedFile;
    private previewUrl;
    private resultImageUrl;
    private errorMessage;
    private currentJobId;
    private productImageUrl;
    private t;
    private buttonStyles;
    private modalStyles;
    static get observedAttributes(): string[];
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, _old: string, val: string): void;
    /** Configure button appearance programmatically */
    setButtonStyles(styles: ButtonStyles): void;
    /** Configure modal appearance programmatically */
    setModalStyles(styles: ModalStyles): void;
    private savedScrollY;
    private lockBodyScroll;
    private unlockBodyScroll;
    /** Open the try-on modal */
    open(): void;
    /** Close the try-on modal */
    close(): void;
    /** Detect product image from the current page */
    detectProduct(): string | null;
    private init;
    private initApi;
    private cleanup;
    private emit;
    private get buttonText();
    private get showPoweredBy();
    private render;
    private createButton;
    private createModal;
    private createUploadView;
    private createProcessingView;
    private createResultView;
    private createErrorView;
    private handleFileSelect;
    private handleSubmit;
    private handleVtoUpdate;
    private startPolling;
    private handleDownload;
    private resetUpload;
    private applyButtonStyles;
    private applyModalStyles;
}
