import { LitElement } from 'lit';
import { DynamicStylesController } from './utils/controllers/dynamic-styles-controller';
import 'reflect-metadata';
/**
 * Base class for Green Core elements.
 * This class sets up the base functionality that all Green Core elements share.
 *
 * @internal
 *
 * @event gds-element-disconnected - When the element is disconnected from the DOM
 */
export declare class GdsElement extends LitElement {
    /**
     * Defines the custom element in the custom element registry.
     * This method needs to be called once before the element can be used.
     */
    static define(): void;
    /**
     * Whether the element is defined in the custom element registry.
     */
    static isDefined: boolean;
    /**
     * Style expression properties for this element will use this selector by default.
     */
    static styleExpressionBaseSelector: string;
    /**
     * The semantic version of this element. Can be used for troubleshooting to verify the version being used.
     */
    readonly semanticVersion = "__GDS_SEM_VER__";
    /**
     * The unscoped name of this element. This attribute is set automatically by the element and is inteded to be read-only.
     *
     * @attribute gds-element
     * @readonly
     */
    gdsElementName?: string;
    /**
     * Whether the element is using transitional styles.
     * @internal
     */
    _isUsingTransitionalStyles: boolean;
    /**
     * @private
     */
    _dynamicStylesController: DynamicStylesController;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    /**
     * Dispatches a standard event with the given name and options.
     * A pascal cased version of the event name is also dispatched for compatibility.
     */
    dispatchStandardEvent(name: string, options?: EventInit): boolean;
    /**
     * Dispatches a custom event with the given name and options.
     * A pascal cased version of the event name is also dispatched for compatibility.
     */
    dispatchCustomEvent<T>(name: string, options?: CustomEventInit<T>): boolean;
}
