import { PluginObject } from 'vue'; import { ModulVue } from '../../utils/vue/vue'; export interface MRepeaterItem { } export interface MRepeaterOperations { canAdd: boolean; canDelete: boolean; } export interface MRepeaterItemProps { item: T; index: number; } export interface MRepeaterRowProps extends MRepeaterItemProps { canDelete: boolean; } export interface MRepeaterRowListeners { onDelete(): void; } export declare class MRepeater extends ModulVue { readonly list: MRepeaterItem[]; readonly addButtonLabel?: string; readonly deleteButtonLabel?: string; readonly emptyMessage?: string; readonly tag: string; readonly itemKey?: string; readonly operations: MRepeaterOperations; readonly minItemCount: number; readonly maxItemCount: number; mounted(): void; onAddBtnClick(): void; onDeleteBtnClick(index: number): void; getRowProps(item: MRepeaterItem, index: number): MRepeaterRowProps; getRowListeners(item: MRepeaterItem, index: number): MRepeaterRowListeners; getItemKey(item: MRepeaterItem, index: number): unknown | number; getItemProps(item: MRepeaterItem, index: number): MRepeaterItemProps; get addBtnLabel(): string; get deleteBtnLabel(): string; get canAdd(): boolean; get canDelete(): boolean; get itemTag(): string; get hasRowSlot(): boolean; } declare const RepeaterPlugin: PluginObject; export default RepeaterPlugin; //# sourceMappingURL=repeater.d.ts.map