export declare const SYMBOL_KIND_NAMESPACE = "namespace"; export declare const SYMBOL_KIND_CLASS = "class"; export declare const SYMBOL_KIND_TYPEDEF = "typedef"; export declare const CLASS_SYMBOL_METADATA_PROPERTY = "ui5-metadata"; export type SYMBOL_KIND = typeof SYMBOL_KIND_NAMESPACE | typeof SYMBOL_KIND_CLASS | typeof SYMBOL_KIND_TYPEDEF; export interface MacrosAPI { symbols: UI5Symbol[]; } export declare enum UI5Visibility { public = "public", restricted = "restricted", hidden = "hidden" } export interface BaseSymbol { name: string; basename: string; resource: string; module: string; static: boolean; visibility: UI5Visibility; description: string; displayName: string; title: string; subTitle: string; defaultAggreation?: string; } export type UI5Symbol = NamespaceSymbol | ClassSymbol | TypedefSymbol; export interface NamespaceSymbol extends BaseSymbol { kind: typeof SYMBOL_KIND_NAMESPACE; export: string; nodes: []; } export interface ClassSymbol extends BaseSymbol { kind: typeof SYMBOL_KIND_CLASS; since?: string; events?: UI5Event[]; extends?: string; [CLASS_SYMBOL_METADATA_PROPERTY]?: SymbolMetadata; } export interface TypedefSymbol extends BaseSymbol { kind: typeof SYMBOL_KIND_TYPEDEF; properties: UI5Property[]; aggregations?: UI5Aggregation[]; } export interface SymbolMetadata { stereotype: string; properties: UI5Property[]; aggregations: UI5Aggregation[]; defaultAggregation?: string; } export interface UI5PropertyGeneric { name: string; description: string; visibility: UI5Visibility; disabled?: boolean; } export interface UI5PropertyCore extends UI5PropertyGeneric { methods: string[]; } export interface UI5Event { name: string; description: string; visibility: UI5Visibility; } export interface UI5PropertyType { value: string; } export interface SapFeMetadata { allowedValues?: string[]; } export interface UI5Metadata { 'sap.fe': SapFeMetadata; } export interface UI5Property extends UI5PropertyCore { bindable?: boolean; group: string; defaultValue: unknown; type?: string; types?: UI5PropertyType[]; allowedValues?: string[]; 'ui5-metadata'?: UI5Metadata; multiSelect?: boolean; } export interface UI5Aggregation extends UI5PropertyCore { singularName: string; cardinality: string; linkEnabled: true; type: string | string[]; bindable?: boolean; altTypes?: string[]; } //# sourceMappingURL=types.d.ts.map