import { LitElement } from 'lit';
import { FileProviderType } from '../types/files.types';
import { ShadowPartsController } from '../controllers/shadow-parts-controller';
import { iconNamesType } from '../utils/icons';
declare global {
    interface HTMLElementTagNameMap {
        "wy-preview-embed": WyPreviewEmbed;
    }
}
/**
 * Lightweight preview wrapper for embedded content.
 *
 * **Used sub components:**
 *
 * - [`<wy-progress-circular>`](./ui/wy-progress-circular.ts)
 * - [`<wy-preview-icon>`](./wy-preview-icon.ts)
 *
 * @csspart wy-content-embed - Object/embed container for the preview.
 * @csspart wy-content-progress - Progress indicator shown while loading.
 * @csspart wy-content-embed-fallback - Fallback view shown when embed cannot load.
 *
 * @fires {FilePreviewLoadedEventType} file-preview-loaded - The file preview is considered loaded.
 */
export declare class WyPreviewEmbed extends LitElement {
    static styles: import('lit').CSSResult[];
    protected exportParts: ShadowPartsController;
    /**
     * Source URL rendered by the embedded object.
     */
    src: string;
    /**
     * Display name attached to the embed preview.
     */
    name: string;
    /**
     * Icon representing the embed provider.
     */
    icon: iconNamesType;
    /**
     * Provider metadata used for fallbacks and labeling.
     */
    provider?: FileProviderType;
    /**
     * Cached reference to the active embed element.
     *
     * @internal
     */
    embedElement?: Element;
    /**
     * Emit `file-preview-loaded` once the preview has finished loading.
     *
     * @returns {boolean} True if the event was not canceled.
     */
    protected dispatchLoaded(): boolean;
    /**
     * Tear-down callback for the current embed load handler.
     *
     * @internal
     */
    unregisterLoading?: () => void;
    /**
     * Attach load listeners and register the provided embed element.
     *
     * @internal
     * @param embedElement - Newly rendered embed element.
     */
    registerLoading(embedElement: Element | undefined): void;
    render(): import('../../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
    disconnectedCallback(): void;
}
//# sourceMappingURL=wy-preview-embed.d.ts.map