import { MasonryConfig, MasonryItem, LayoutInfo } from '../types';
export declare class HyMasonry extends HTMLElement {
    private config;
    private items;
    private animationEngine;
    private morphingManager;
    private interactionHandler;
    private layout;
    private resizeObserver;
    private intersectionObserver;
    private container;
    constructor();
    /**
     * Get default configuration
     */
    private getDefaultConfig;
    /**
     * Read configuration from HTML attributes
     */
    private readAttributes;
    /**
     * Connected callback - when element is added to DOM
     */
    connectedCallback(): void;
    /**
     * Disconnected callback - when element is removed from DOM
     */
    disconnectedCallback(): void;
    /**
     * Attribute changed callback
     */
    static get observedAttributes(): string[];
    attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
    /**
     * Setup component structure
     */
    private setupComponent;
    /**
     * Setup event listeners
     */
    private setupEventListeners;
    /**
     * Setup observers
     */
    private setupObservers;
    /**
     * Apply theme
     */
    private applyTheme;
    /**
     * Add item to masonry
     */
    addItem(item: MasonryItem): void;
    /**
     * Remove item from masonry
     */
    removeItem(itemId: string): void;
    /**
     * Update item
     */
    updateItem(itemId: string, newConfig: Partial<MasonryItem>): void;
    /**
     * Create item element
     */
    private createItemElement;
    /**
     * Update item element
     */
    private updateItemElement;
    /**
     * Refresh layout
     */
    refresh(): void;
    /**
     * Morph item
     */
    morphItem(itemId: string, newSize: string, duration?: number): void;
    /**
     * Reset item to original size
     */
    resetItem(itemId: string): void;
    /**
     * Get item by ID
     */
    getItem(itemId: string): MasonryItem | undefined;
    /**
     * Get all items
     */
    getItems(): MasonryItem[];
    /**
     * Get layout information
     */
    getLayoutInfo(): LayoutInfo | null;
    /**
     * Update configuration
     */
    updateConfig(newConfig: Partial<MasonryConfig>): void;
    /**
     * Throttle function
     */
    private throttle;
    /**
     * Dispatch custom event
     */
    private dispatchCustomEvent;
    /**
     * Cleanup resources
     */
    private cleanup;
    /**
     * Destroy component
     */
    destroy(): void;
}
//# sourceMappingURL=hy-masonry.d.ts.map