/* tslint:disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ export type Name = string; /** * List of symbol aliases */ export type Aliases = string[]; /** * Short description to be rendered in documentation popup. It will be rendered according to description-markup setting. */ export type Description = string; /** * Link to online documentation. */ export type DocUrl = string; export type HtmlAttributeDefault = string; export type HtmlAttributeRequired = boolean; export type HtmlAttributeValue = | { kind: string; } | { kind: string; required?: boolean; } | { kind: string; required?: boolean; } | { kind: string; required?: boolean; } | { kind: string; items: [] | [string]; required?: boolean; } | { kind: string; type: Type; required?: boolean; }; /** * Specify type according to selected language for type syntax. The type can be specified by a string expression, an object with list of imports and an expression, or an array of possible types. */ export type Type = string | ComplexType | (string | ComplexType)[]; /** * Allows to specify the source of the entity. For Vue.js component this may be for instance a class. */ export type Source = | { /** * Path to the file, relative to the web-types JSON. */ file: string; /** * Offset in the file under which the source symbol, like class name, is located. */ offset: number; } | { /** * Name of module, which exports the symbol. May be omitted, in which case it's assumed to be the name of the library. */ module?: string; /** * Name of the exported symbol. */ symbol: string; }; /** * A RegEx pattern to match whole content. Syntax should work with at least ECMA, Java and Python implementations. */ export type Pattern = | string | { regex?: string; "case-sensitive"?: boolean; [k: string]: unknown; }; export interface JSONSchemaForWebTypes { /** * Framework, for which the components are provided by the library */ framework: "vue"; /** * Name of the library */ name: string; /** * Version of the library, for which web-types are provided */ version: string; contributions: { html?: Html; [k: string]: unknown; }; [k: string]: unknown; } export interface Html { /** * Language in which types as specified. */ "types-syntax"?: "typescript"; /** * Markup language in which descriptions are formatted */ "description-markup"?: "html" | "markdown" | "none"; tags?: HtmlTag[]; attributes?: HtmlAttribute[]; "vue-filters"?: HtmlVueFilter[]; } export interface HtmlTag { name: Name; aliases?: Aliases; description?: Description; "doc-url"?: DocUrl; attributes?: HtmlTagAttribute[]; source?: Source; events?: HtmlTagEvent[]; slots?: HtmlTagSlot[]; /** * Deprecated. Use regular 'slot' property instead and specify 'vue-properties' to provide slot scope information. */ "vue-scoped-slots"?: null; "vue-model"?: HtmlTagVueModel; } export interface HtmlTagAttribute { name: Name; description?: Description; "doc-url"?: DocUrl; default?: HtmlAttributeDefault; required?: HtmlAttributeRequired; value?: HtmlAttributeValue; /** * Deprecated. Use 'value' property instead. Specify only if type is 'boolean' for compatibility with WebStorm 2019.2. */ type?: { [k: string]: unknown; }; } export interface ComplexType { /** * List of import statements required to resolve symbol in the type expression. */ imports: string[]; expression: string; } export interface HtmlTagEvent { name: Name; description?: Description; "doc-url"?: DocUrl; arguments?: TypedEntity[]; } export interface TypedEntity { name: Name; description?: Description; "doc-url"?: DocUrl; type?: Type; } export interface HtmlTagSlot { name: Name; pattern?: Pattern; description?: Description; "doc-url"?: DocUrl; /** * Specify properties of the slot scope */ "vue-properties"?: TypedEntity[]; } export interface HtmlTagVueModel { prop?: string; event?: string; } export interface HtmlAttribute { name: Name; aliases?: Aliases; description?: Description; "doc-url"?: DocUrl; default?: HtmlAttributeDefault; required?: HtmlAttributeRequired; value?: HtmlAttributeValue; source?: Source; "vue-argument"?: HtmlAttributeVueArgument; "vue-modifiers"?: HtmlAttributeVueModifier[]; } /** * Provide information about directive argument */ export interface HtmlAttributeVueArgument { pattern?: Pattern; description?: Description; "doc-url"?: DocUrl; /** * Whether directive requires an argument */ required?: boolean; } export interface HtmlAttributeVueModifier { name: Name; pattern?: Pattern; description?: Description; "doc-url"?: DocUrl; } export interface HtmlVueFilter { name: Name; aliases?: Aliases; description?: Description; "doc-url"?: DocUrl; source?: Source; /** * Type of expression on the left hand-side of the pipe of operator */ accepts?: string | ComplexType | (string | ComplexType)[]; /** * Type of the result */ returns?: string | ComplexType | (string | ComplexType)[]; /** * List of arguments accepted by the filter. All arguments are non-optional by default. */ arguments?: HtmlVueFilterArgument[]; } export interface HtmlVueFilterArgument { name: Name; description?: Description; "doc-url"?: DocUrl; type?: Type; optional?: boolean; }