import { LitElement } from 'lit'; import { A11yState } from './accessibility/a11y.state.enum'; import { A11yProperty } from './accessibility/a11y.property.enum'; import { Role } from './accessibility/role.enum'; export default class NileElement extends LitElement { protected BUBBLES: boolean; protected COMPOSED: boolean; protected CANCELABLE: boolean; /** Emits a custom event with more convenient defaults. */ emit(name: string, detail?: any, bubbles?: boolean, composed?: boolean, cancelable?: boolean): CustomEvent; } export interface NileFormControl extends NileElement { name: string; value: unknown; disabled?: boolean; defaultValue?: unknown; defaultChecked?: boolean; form?: string; pattern?: string; min?: number | string | Date; max?: number | string | Date; step?: number | 'any'; required?: boolean; minlength?: number; maxlength?: number; readonly validity: ValidityState; readonly validationMessage: string; checkValidity: () => boolean; getForm: () => HTMLFormElement | null; reportValidity: () => boolean; setCustomValidity: (message: string) => void; } export interface A11yMetadataOptions { [Role.Role]?: string; [A11yState.AriaDisabled]?: boolean; [A11yState.AriaChecked]?: boolean; [A11yState.AriaSelected]?: boolean; [A11yState.AriaExpanded]?: boolean; [A11yState.AriaInvalid]?: boolean; [A11yState.AriaHidden]?: boolean; [A11yState.AriaPressed]?: boolean; [A11yState.AriaCurrent]?: string | boolean; [A11yState.AriaBusy]?: boolean; [A11yState.AriaRequired]?: boolean; [A11yState.AriaReadonly]?: boolean; [A11yState.AriaValueNow]?: string; [A11yState.AriaValueMin]?: string; [A11yState.AriaValueMax]?: string; [A11yState.AriaSort]?: string; [A11yProperty.AriaLabel]?: string; [A11yProperty.AriaLabelledby]?: string; [A11yProperty.AriaDescribedby]?: string; [A11yProperty.AriaErrormessage]?: string; [A11yProperty.AriaDetails]?: string; [A11yProperty.AriaControls]?: string; [A11yProperty.AriaOwns]?: string; [A11yProperty.AriaFlowto]?: string; [A11yProperty.AriaRoledescription]?: string; [A11yProperty.AriaModal]?: string; [A11yProperty.AriaOrientation]?: string; [A11yProperty.AriaKeyshortcuts]?: string; [A11yProperty.AriaValuenow]?: string; [A11yProperty.AriaValuemin]?: string; [A11yProperty.AriaValuemax]?: string; [A11yProperty.AriaValuetext]?: string; [A11yProperty.AriaLevel]?: string; [A11yProperty.AriaPosinset]?: string; [A11yProperty.AriaSetsize]?: string; [A11yProperty.AriaColcount]?: string; [A11yProperty.AriaColindex]?: string; [A11yProperty.AriaColspan]?: string; [A11yProperty.AriaRowcount]?: string; [A11yProperty.AriaRowindex]?: string; [A11yProperty.AriaRowspan]?: string; [A11yProperty.AriaAutocomplete]?: string; [A11yProperty.AriaPlaceholder]?: string; [A11yProperty.AriaHasPopup]?: string; [A11yProperty.Tabindex]?: string; [A11yProperty.AriaMultiselectable]?: string; } export declare function setupA11yMetadata(el: HTMLElement, options?: A11yMetadataOptions): void;