import { TemplateResult } from 'lit';
import { OmniElement } from '../core/OmniElement.js';
/**
* Component that displays an icon.
*
* @import
* ```js
* import '@capitec/omni-components/icon';
* ```
*
* @example
* ```html
*
*
*
* ```
*
* @example
* ```html
*
*
* ```
*
* @element omni-icon
*
* Registry of all properties defined by the component.
*
* @slot - The icon to be displayed
*
* @cssprop --omni-icon-fill - Icon fill color.
* @cssprop --omni-icon-background-color - Icon background color.
* @cssprop --omni-icon-size-large - Icon large size.
* @cssprop --omni-icon-size-medium - Icon medium size.
* @cssprop --omni-icon-size-small - Icon small size.
* @cssprop --omni-icon-size-extra-small - Icon extra small size.
* @cssprop --omni-icon-size-default - Icon default size.
*
*/
export declare class Icon extends OmniElement {
/**
* Size to display the icon at
* @attr [size="default"]
*/
size: 'default' | 'extra-small' | 'small' | 'medium' | 'large';
/**
* Name of the icon to display. Takes preference over the slotted icon.
* @attr
*/
icon?: string;
/**
* When true, enforces 1:1 width and height of the icon.
* @attr
*/
symmetrical?: boolean;
static get styles(): import("lit").CSSResultGroup[];
render(): TemplateResult;
}
declare global {
interface HTMLElementTagNameMap {
'omni-icon': Icon;
}
}
//# sourceMappingURL=Icon.d.ts.map