import { GdsElement } from '../../gds-element';
import { GdsColorLevel } from '../../utils/helpers';
declare const GdsIcon_base: (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").MarginProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").LayoutChildProps) & typeof GdsElement;
/**
 * @part icon - The icon SVG element.
 */
export declare class GdsIcon extends GdsIcon_base {
    static styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
    /**
     * This property allow you to set the size of the icon with the token and custom values.
     * If not provided, uses the icon's default size.
     *
     * The size is a shorthand for setting both width and height at once.
     */
    size?: string;
    /**
     * When set to true, the solid version of the icon is displayed.
     * When set to false or not provided, the regular version of the icon is displayed.
     */
    solid: boolean;
    /**
     * When set to true, you can apply custom stroke width to the icon.
     */
    stroke?: number;
    /**
     * The level of the icon is used to resolve the color tokens from the corresponding level.
     * Check the [Color System documentation page](./?path=/docs/style-colors--docs) for more information.
     *
     * Default for `gds-icon-*` is level 2.
     *
     */
    level: GdsColorLevel;
    /**
     * Style Expression Property that controls the `color` property.
     * Only accepts color tokens and an optional transparency value, in the format tokenName/transparency.
     *
     * ```html
     * <gds-icon-ai color="neutral-01/0.2"></gds-icon-ai>
     * ```
     */
    color?: string;
    /**
     * This property allow you to set the accessible label of the icon.
     * If not provided, the icon will be presentational.
     */
    label: string;
    protected static _name: string;
    protected static _regularSVG?: string;
    protected static _solidSVG?: string;
    protected static _viewBox: string;
    /**
     * Generates the SVG attributes for the icon
     * @private
     */
    private get svgAttributes();
    /**
     * Gets the appropriate SVG content based on the solid property
     * @private
     */
    private get svgContent();
    /**
     * Applies stroke width to SVG paths if stroke property is set
     * @private
     */
    private applyStroke;
    /**
     * Generates the SVG attributes string
     * @private
     */
    private generateAttributesString;
    render(): import("lit-html").TemplateResult<1>;
}
export {};
