import { PropertyValueMap } from 'lit';
import { DdsElement } from '../../internal/dds-hu-element';
export type IconSize = 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs';
/**
 * `dap-ds-icon`
 * @summary An icon is a graphical symbol that represents an object or action.
 * @element dap-ds-icon
 * @title - Icon
 *
 * @property {boolean} ariaHidden - Whether the icon is hidden from the accessibility tree. Default is true.
 * @property {string} ariaLabel - The aria label of the icon.
 *
 * @slot - The content of the icon for custom svg icons.
 *
 * @csspart base - The main icon container.
 * @csspart icon - The icon of the icon.
 *
 * @cssproperty --dds-icon-size-xs - The size of extra small icons (default: 12px)
 * @cssproperty --dds-icon-size-sm - The size of small icons (default: 16px)
 * @cssproperty --dds-icon-size-md - The size of medium icons (default: 20px)
 * @cssproperty --dds-icon-size-lg - The size of large icons (default: 24px)
 * @cssproperty --dds-icon-size-xl - The size of extra large icons (default: 32px)
 * @cssproperty --dds-icon-size-xxl - The size of extra extra large icons (default: 40px)
 */
export default class DapDSIcon extends DdsElement {
    static tagName: string;
    /** The name of the icon */
    name: string;
    /** The size of the icon
     * @type {'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs'}
     */
    size: 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs';
    /** The size of the icon in pixels. This overrides the size attribute. */
    staticSize?: number;
    /** Whether the icon is focusable. Default is false. */
    focusable?: boolean;
    static readonly styles: import('lit').CSSResult;
    /** True unless the consumer explicitly opted out with `aria-hidden="false"`. */
    private get _isDecorative();
    protected willUpdate(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
    render(): import('lit-html').TemplateResult;
    private _getNamedIcon;
    private _getSlotIcon;
    private _getIconSizePx;
}
