import Vue from 'vue';

export declare class p5Table extends Vue {
	// 表格数据
	data: [object]

	// 表格头
	columns: []

	// 最大高度
	maxHeight: number

	// 是否边框包围
	border: boolean

	// 是否有多选框
	hasCheckbox: boolean

	// 是否默认全部选中
	isAllCheckedCustom: boolean


	/**
	 * 点击排序时触发
	 * @param eventName 
	 */
	$emit(eventName: 'sort', data: [] | object): this;

	/**
	 * 点击多选框时触发
	 * @param eventName 
	 */
	$emit(eventName: 'ontablechecked', data: []): this;
}


export declare class p5TableBody extends Vue {
	// 表格数据
	data: [object]

	// 表格头
	columns: []

	// 固定方向
	fixed: string

	// 是否有多选框
	hasCheckbox: boolean

	/**
	 * 鼠标滑过时触发
	 * @param eventName 
	 */
	$emit(eventName: 'handleMouseIn', index: number): this;

	/**
	 * 鼠标滑出时触发
	 * @param eventName 
	 */
	$emit(eventName: 'handleMounseOut', data: number): this;
}

export declare class p5TableHeader extends Vue {

	// 表格头
	columns: []

	// 固定方向
	fixed: string

	// 是否有多选框
	hasCheckbox: boolean

	// 是否全部选中
	isAllChecked: boolean


	/**
	 * 点击排序时触发
	 * @param eventName 
	 */
	$emit(eventName: 'sort', data: [] | object): this

	/**
	 * 全选时触发
	 * @param eventName 
	 */
	$emit(eventName: 'onAllchecked', bool: boolean): this
}


export declare class p5Col extends Vue {
	// 表格头
	columns: []
}


export declare class p5TableExpand extends Vue {
	// 当前行
	row: object

	// 渲染函数
	render: () => {}

	// 当前索引
	index: number

	// 当前列
	column: object
}


