import type { ApiClassDeclaration, ApiClassMethod, ApiCustomElementDeclaration, ApiCustomElementField, ApiEvent, ApiFunctionDeclaration, ApiInterfaceDeclaration, ApiModule, ApiVariableDeclaration, ApiWithDeprecated, ApiWithDescription, ApiWithDocsTags } from "../../apiJson.js"; /** [Documentation](https://webgis.esri.com/references/api-extractor/tags-reference#copydoc)) */ export interface CopyDocDefinitions { properties?: CopyDocMemberDeclarations; methods?: CopyDocMemberDeclarations; /** * This is only called for web component events. * Non-web component classes define events using the `@eventTypes` property, * and can copy doc by creating and extending common interfaces. */ events?: CopyDocMemberDeclarations; classes?: CopyDocDeclarations; customElements?: CopyDocDeclarations; functions?: CopyDocDeclarations; variables?: CopyDocDeclarations; /** This includes both type aliases and interfaces */ interfaces?: CopyDocDeclarations; } /** * A common shape for metadata that can be included in declarative copy doc. * Extra fields can be specified by imperatively mutating the API declaration. */ export interface CopyDocCommonBase extends Partial, Partial, Partial { return?: ApiWithDescription; } export type CopyDocDeclarations> = Record | ((apiDeclaration: ApiType, module: ApiModule) => Pick) | undefined>; export type CopyDocMemberDeclarations> = Record | ((apiDeclaration: ApiType, classOrComponent: ApiClassDeclaration | ApiCustomElementDeclaration, module: ApiModule) => Pick | undefined) | undefined>;