import type { PfeConfig } from '@patternfly/pfe-tools/config.js'; import type { Attribute, ClassField, ClassMember, ClassMethod, CssCustomProperty, CssPart, CustomElementDeclaration, Declaration, Demo, Event, Export, Module, Package, Slot } from 'custom-elements-manifest/schema'; export interface PackageJSON { customElements?: string; name: string; version: string; private?: boolean; contributors?: string[]; author?: string; workspaces?: string[]; } export interface DemoRecord extends Demo { tagName: string; primaryElementName: string; permalink: string; slug: string; title: string; filePath?: string; manifest: Manifest; } export declare const isField: (x: ClassMember) => x is ClassField; export declare const isMethod: (x: ClassMember) => x is ClassMethod; export declare const isStatic: (x: ClassMember) => x is ClassMethod & { static: true; }; export declare const isPublic: (x: ClassMember) => boolean; export declare const isPublicInstanceField: (x: ClassMember) => x is ClassField; export declare const isPublicInstanceMethod: (x: ClassMember) => x is ClassMethod; export declare const isCustomElement: (x: Declaration) => x is CustomElementDeclaration; export declare const isTheField: (x: ClassField) => (y: Attribute) => boolean; declare class ManifestCustomElement { declaration: CustomElementDeclaration; module: Module; manifest: Manifest; /** The element's name */ tagName?: string; /** The element's attributes */ attributes: Attribute[]; /** The element's cssCustomProperties */ cssCustomProperties: CssCustomProperty[]; /** The element's cssParts */ cssParts: CssPart[]; /** The element's description */ description: string; /** The element's events */ events: Event[]; /** The element's methods */ methods: ClassMethod[]; /** The element's properties */ properties: ClassField[]; /** The element's slots */ slots: Slot[]; /** The element's summary */ summary: string; /** The export for the element */ export?: Export; /** The demos for the element */ demos?: Demo[]; constructor(declaration: CustomElementDeclaration, module: Module, manifest: Manifest); } export declare class Manifest { #private; manifest: Package | null; packageJson: PackageJSON | null; location?: string | undefined; static empty(): Manifest; static from({ package: packageJson, location, }: { package: PackageJSON; location: string; }): Manifest; static getAll(rootDir?: string): Manifest[]; static prettyTag: (tagName: string, aliases?: Record, prefix?: string) => string; declarations: Map; /** file path to the custom elements manifest */ path: string; constructor(manifest: Package | null, packageJson: PackageJSON | null, location?: string | undefined); /** */ getTagNames(): string[]; /** * @param tagName tag to get attributes for */ getAttributes(tagName: string): undefined | Attribute[]; /** * @param tagName tag to get css props for */ getCssCustomProperties(tagName: string): undefined | CssCustomProperty[]; /** * @param tagName tag to get css parts for */ getCssParts(tagName: string): undefined | CssPart[]; /** * @param tagName tag to get description for */ getDescription(tagName: string): undefined | string; /** * @param tagName tag to get events for */ getEvents(tagName: string): undefined | Event[]; /** * @param tagName tag to get methods for */ getMethods(tagName: string): undefined | ClassMethod[]; /** * @param tagName tag to get properties for */ getProperties(tagName: string): undefined | ClassField[]; /** * @param tagName tag to get summary for */ getSummary(tagName: string): undefined | string; /** * @param tagName tag to get slots for */ getSlots(tagName: string): undefined | Slot[]; /** * @param tagName tag to get demos for */ getDemos(tagName: string): Demo[]; getAllDemos(): Demo[]; getDemoMetadata(tagName: string, options: Required): DemoRecord[]; } export {};