import { Component, type HTMLCustomElement } from 'maverick.js/element';
import type { IconProps } from './types';
declare global {
    interface MaverickElements {
        'media-icon': MediaIconElement;
    }
}
/**
 * The `<media-icon>` component dynamically loads and renders our custom Vidstack icons. See our
 * [media icons catalog](https://www.vidstack.io/media-icons) to preview them all. Do note, the icon `type` can
 * be dynamically changed.
 *
 * @docs {@link https://www.vidstack.io/docs/player/components/display/icons}
 * @example
 * ```html
 * <media-icon type="play"></media-icon>
 * <media-icon type="pause"></media-icon>
 * ```
 */
export declare class Icon extends Component<IconAPI> {
    static el: import("maverick.js/element").CustomElementDefinition<IconAPI>;
    private _hydrate;
    private _paths;
    protected onAttach(el: HTMLElement): void;
    protected _loadIcon(): void;
    render(): import("maverick.js").JSX.Element;
}
export interface IconAPI {
    props: IconProps;
}
export interface MediaIconElement extends HTMLCustomElement<Icon> {
}
