import { Constructable, InlineTemplateDirective, PartialFASTElementDefinition, ViewTemplate } from '@microsoft/fast-element'; export type TemplateOrResolveFn = ViewTemplate | ((context: VividElementDefinitionContext) => ViewTemplate); export type VividElementDefinitionContext = { tagFor(type: Constructable, convertToString?: T): T extends true ? string : InlineTemplateDirective; tagForNonDependency(name: string): string; }; export type Options = Pick; export type VividComponentDefinition = { name: string; type: Constructable; template: TemplateOrResolveFn; dependencies: VividComponentDefinition[]; options: Options; }; export declare const defineVividComponent: (name: string, type: Constructable, template: TemplateOrResolveFn, dependencies: VividComponentDefinition[], options: Options) => VividComponentDefinition;