import { ThemeController } from './controllers/theme-controller';
import { WeavyAppComponent } from './classes/weavy-app-component';
import { AppTypeGuid, UnknownAppType } from './types/app.types';
import { ComponentFeatures } from './contexts/features-context';
declare global {
    interface HTMLElementTagNameMap {
        "wy-component": WyComponent;
    }
}
/**
 * @import { WyActionEventType } from "./types/action.events"
 * @import { WyAppEventType } from "./types/app.events"
 * @import { WyLinkEventType } from "./types/notifications.events"
 * @import { WyPreviewOpenEventType } from "./types/files.events"
 * @import { WyPreviewCloseEventType } from "./types/files.events"
 * @import { WyUnreadEventType } from "./types/ui.events"
 */
/**
 * Generic Weavy component wrapper to provide app functionality to any provided sub components.
 *
 * @tagname wy-component
 * @fires {WyActionEventType} wy-action - Emitted when an action is performed.
 * @fires {WyAppEventType} wy-app - Fired whenever the app property changes.
 * @fires {WyLinkEventType} wy-link - Fired when a notification is clicked.
 * @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.
 * @fires {WyUnreadEventType} wy-unread - Fired when the unread count change.
 * @slot - Generic slot for any consuming sub components.
 */
export declare class WyComponent extends WeavyAppComponent {
    static styles: import('lit').CSSResult[];
    /**
     * App guid or component type for the component wrapper.
     */
    appType?: AppTypeGuid | UnknownAppType | undefined;
    /**
     * Feature configuration. May be provided as a space separated attribute string.
     */
    componentFeatures: ComponentFeatures;
    /** @internal */
    protected theme: ThemeController;
    render(): import('../node_modules/lit-html/node/lit-html.js').TemplateResult<1>;
}
//# sourceMappingURL=wy-component.d.ts.map