import { RefObject, Emitter } from '@mantou/gem/lib/decorators'; import { GemElement, TemplateResult } from '@mantou/gem/lib/element'; import type { DataList } from './input'; import type { Option } from './picker'; import type { Option as SelectOption } from './select'; import type { Adder } from './options'; import './input'; import './picker'; import './button'; import './checkbox'; import './radio'; import './select'; import './help-text'; import './date-picker'; import './date-range-picker'; /** * @customElement dy-form * @attr inline */ export declare class DuoyunFormElement> extends GemElement { inline: boolean; change: Emitter; get items(): DuoyunFormItemElement[]; get elements(): Record; get data(): Data; constructor(); valid(): Promise; clearInvalidMessage(): void; } /** * @customElement dy-form-item-inline-group */ export declare class DuoyunFormItemInlineGroupElement extends GemElement { constructor(); } declare type FormItemState = { invalidMessage?: string; }; declare type FormItemRule = { message?: string; pattern?: string | RegExp; required?: boolean; validator?: (value: any) => void | Promise; }; /** * @customElement dy-form-item * @attr type * @attr multiple * @attr name * @attr label * @attr placeholder * @attr required * @attr checked * @attr autofocus * @attr disabled * @attr searchable * @attr clearable */ export declare class DuoyunFormItemElement extends GemElement { #private; static label: string; static tip: string; static input: string; static add: string; type: 'text' | 'password' | 'date' | 'date-range' | 'number' | 'checkbox' | 'checkbox-group' | 'picker' | 'radio-group' | 'select' | 'textarea' | 'slot'; multiple: boolean; name: string; label: string; placeholder: string; required: boolean; checked: boolean; autofocus: boolean; disabled: boolean; searchable: boolean; clearable: boolean; time: boolean; invalid: boolean; value?: number | string | any[] | any; renderLabel?: (e: SelectOption) => string | TemplateResult; rules?: FormItemRule[]; dataList?: DataList | Option[] | SelectOption[]; adder?: Adder; itemchange: Emitter<{ name: string; value: number | string | any[] | any; }>; slotRef: RefObject; state: FormItemState; get data(): any; constructor(); mounted: () => void; render: () => TemplateResult; focus(): void; clearInvalidMessage(): void; valid(): Promise; } export {}; //# sourceMappingURL=form.d.ts.map