// This file was automatically generated. See designer-extensions docs. type BlockElementTag = | 'div' | 'header' | 'footer' | 'nav' | 'main' | 'section' | 'article' | 'aside' | 'address' | 'figure'; type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6; type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; type ListTag = 'ul' | 'ol'; type TagToElement = { div: BlockElement; header: BlockElement; footer: BlockElement; nav: BlockElement; main: BlockElement; article: BlockElement; aside: BlockElement; address: BlockElement; figure: BlockElement; section: SectionElement; p: ParagraphElement; h1: HeadingElement; h2: HeadingElement; h3: HeadingElement; h4: HeadingElement; h5: HeadingElement; h6: HeadingElement; blockquote: BlockquoteElement; pre: CodeBlockElement; code: CodeBlockElement; img: AnyElement; video: VideoElement; a: LinkElement; button: LinkElement; ul: ListElement; ol: ListElement; li: ListItemElement; form: AnyElement; }; type ElementTagName = keyof TagToElement; type InsertOrMoveElement = < el extends AnyElement, target extends | el | ElementPreset | AnyComponent | BuilderElement | string, >( this: {id: FullElementId}, that: target, settings?: SetSettingsInput ) => Promise< target extends AnyElement ? target : target extends ElementPreset ? elementType : target extends AnyComponent ? ComponentElement : target extends string ? target extends ElementTagName ? TagToElement[target] : DOMElement : AnyElement >; interface WebflowElement { readonly [brand]: 'Element'; readonly builderElement: false; remove(this: {id: FullElementId}): Promise; readonly before: InsertOrMoveElement; readonly after: InsertOrMoveElement; getParentComponent(this: {id: FullElementId}): Promise; } interface CustomAttributes { readonly customAttributes: true; getCustomAttribute( this: {id: FullElementId}, name: string ): Promise; setCustomAttribute( this: {id: FullElementId}, name: string, value: string ): Promise; removeCustomAttribute(this: {id: FullElementId}, name: string): Promise; getAllCustomAttributes(this: { id: FullElementId; }): Promise | null>; } interface NoCustomAttributes { readonly customAttributes: false; } interface Attributes { readonly attributes: true; getAttributes(this: {id: FullElementId}): Promise>; getResolvedAttributes(this: { id: FullElementId; }): Promise>; getAttributeValue( this: {id: FullElementId}, name: string ): Promise; getAttributeValue( this: {id: FullElementId}, index: number ): Promise; getResolvedAttributeValue( this: {id: FullElementId}, name: string ): Promise; getResolvedAttributeValue( this: {id: FullElementId}, index: number ): Promise; setAttribute( this: {id: FullElementId}, name: string, value: string | BindingInput ): Promise; setAttribute( this: {id: FullElementId}, index: number, attribute: SetElementAttribute ): Promise; setAttributes( this: {id: FullElementId}, attributes: Array ): Promise; removeAttribute(this: {id: FullElementId}, name: string): Promise; removeAttribute(this: {id: FullElementId}, index: number): Promise; } interface NoAttributes { readonly attributes: false; } interface DomId { readonly domId: true; getDomId(this: {id: FullElementId}): Promise; getDomId( this: {id: FullElementId}, options: {bindings: true} ): Promise; setDomId(this: {id: FullElementId}, domId: string): Promise; setDomId(this: {id: FullElementId}, binding: BindingInput): Promise; } interface NoDomId { readonly domId: false; } interface DisplayName { readonly displayName: true; getDisplayName(this: {id: FullElementId}): Promise; setDisplayName(this: {id: FullElementId}, displayName: string): Promise; } interface NoDisplayName { readonly displayName: false; } interface Styles { readonly styles: true; getStyles(this: {id: FullElementId}): Promise | null>; setStyles(this: {id: FullElementId}, styles: Array