import type { CSSResultGroup, LitElement } from 'lit';
import type { Constructor } from './mixin-common.js';
declare class LightDomMixinInterface {
    injectStyles(dynamicStyles?: CSSResultGroup): Promise<void>;
}
/**
 * Mixin that provides dynamic styles injection functionality for components that do not use Shadow DOM.
 *
 * Usage:
 *   class MyComponent extends LightDomMixin(LitElement) {
 *     static styles = css`div { color: blue; }`;
 *     render() { return html`<div>content</div>`; }
 *   }
 *
 * Features:
 * - Automatically injects static styles from the component's `styles` property in `connectedCallback`
 * - Exposes an `injectStyles` method that can be called manually with dynamic styles
 * - Prevents duplicate style injection by checking for existing style sheets
 * - Overrides `createRenderRoot` to return `this` (disabling Shadow DOM)
 *
 * @param superClass - The base class to extend (must be a LitElement constructor)
 * @returns A class that extends the superClass with dynamic styles injection functionality
 */
export declare const LightDomMixin: <T extends Constructor<LitElement>>(superClass: T) => Constructor<LightDomMixinInterface> & T;
export {};
