import { ThemeController } from './controllers/theme-controller';
import { WeavyComponent } from './classes/weavy-component';
import { AppTypeGuid, ComponentType } from './types/app.types';
import { ComponentFeatures } from './contexts/features-context';
export declare const WY_COMPONENT_TAGNAME = "wy-component";
declare global {
    interface HTMLElementTagNameMap {
        [WY_COMPONENT_TAGNAME]: WyComponent;
    }
}
/**
 * Generic Weavy component to provide app functionality to any provided sub components.
 *
 * @element wy-component
 * @class WyComponent
 * @extends {WeavyComponent}
 * @fires {WyAppEventType} wy-app - Fired whenever the app property changes.
 * @fires {WyPreviewOpenEventType} wy-preview-open - Fired when a preview overlay is about to open.
 * @fires {WyPreviewCloseEventType} wy-preview-close - Fired when a preview overlay is closed.
 * @slot - Generic slot for any consuming sub components.
 */
export declare class WyComponent extends WeavyComponent {
    static styles: import('lit').CSSResult[];
    componentType?: AppTypeGuid | ComponentType | undefined;
    componentFeatures: ComponentFeatures;
    protected theme: ThemeController;
    render(): import('../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
}
//# sourceMappingURL=wy-component.d.ts.map