import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
import { type RegularIconSize, type LargeIconSize } from '@justeattakeaway/pie-icons-configs';
export declare abstract class PieIconComponent extends LitElement {
    static styles: import("lit").CSSResult;
    size: RegularIconSize | LargeIconSize;
    fill: string;
    protected _svgWidth: string | number;
    protected _svgHeight: string | number;
    protected abstract name: string;
    abstract class: string;
    /**
     * These are the base classes and come from the SVG file during the build phase
     */
    protected defaultClasses: string;
    firstUpdated(): void;
    willUpdate(changedProperties: PropertyValues<this>): void;
    updateIconSize(): void;
    attributeChangedCallback(name: string, oldVal: string | null, newVal: string | null): void;
    abstract render(): TemplateResult;
}
//# sourceMappingURL=PieIconComponent.d.ts.map