import { CSSResult, TemplateResult } from 'lit-element'; import { Builder } from './builder.js'; import { Clazz, View } from './view.js'; export declare const cssPropMetadataKey: unique symbol; export declare function view(tag: string, options: ComponentOptions): [() => Builder, Clazz, Clazz]; export declare function view(tag: string, options: ComponentOptions, PropsCtor?: Clazz): [() => Builder, Clazz, Clazz]; export declare function cssPropsFrom(...props: string[]): Map; export declare function cssProp(name: string): any; export interface ComponentOptions { template: (props: T) => (TemplateResult | View) | (TemplateResult | View)[]; cssTemplate?: (() => CSSResult) | CSSResult; cssProps?: Map; viewRoot?: (element: Element) => Element; }