/**
 * THIS IS GENERATED CODE!
 * PLEASE DO NOT MODIFY - ALL YOUR WORK WOULD BE LOST!
 */
export declare const typescriptDeclarationFixConstant = 1;
import { UiEvent } from "./UiEvent";
import { TeamAppsEvent } from "../modules/util/TeamAppsEvent";
import { UiComponentConfig } from "./UiComponentConfig";
import { UiTemplateConfig } from "./UiTemplateConfig";
import { UiIdentifiableClientRecordConfig } from "./UiIdentifiableClientRecordConfig";
import { UiItemJustification } from "./UiItemJustification";
import { UiVerticalItemAlignment } from "./UiVerticalItemAlignment";
import { UiComponentCommandHandler } from "./UiComponentConfig";
export interface UiInfiniteItemViewConfig extends UiComponentConfig {
    _type?: string;
    itemTemplate: UiTemplateConfig;
    itemWidth?: number;
    rowHeight: number;
    data?: UiIdentifiableClientRecordConfig[];
    totalNumberOfRecords?: number;
    horizontalItemMargin?: number;
    autoHeight?: boolean;
    itemJustification?: UiItemJustification;
    verticalItemAlignment?: UiVerticalItemAlignment;
    contextMenuEnabled?: boolean;
}
export interface UiInfiniteItemViewCommandHandler extends UiComponentCommandHandler {
    addData(startIndex: number, data: UiIdentifiableClientRecordConfig[], totalNumberOfRecords: number, clear: boolean): void;
    removeData(ids: number[]): void;
    setItemTemplate(itemTemplate: UiTemplateConfig): void;
    setItemWidth(itemWidth: number): void;
    setHorizontalItemMargin(horizontalItemMargin: number): void;
    setItemJustification(itemJustification: UiItemJustification): void;
    setVerticalItemAlignment(verticalItemAlignment: UiVerticalItemAlignment): void;
    setContextMenuContent(requestId: number, component: unknown): void;
    closeContextMenu(requestId: number): void;
}
export interface UiInfiniteItemViewEventSource {
    onDataRequest: TeamAppsEvent<UiInfiniteItemView_DataRequestEvent>;
    onItemClicked: TeamAppsEvent<UiInfiniteItemView_ItemClickedEvent>;
    onContextMenuRequested: TeamAppsEvent<UiInfiniteItemView_ContextMenuRequestedEvent>;
}
export interface UiInfiniteItemView_DataRequestEvent extends UiEvent {
    startIndex: number;
    length: number;
}
export interface UiInfiniteItemView_ItemClickedEvent extends UiEvent {
    recordId: number;
    isRightMouseButton: boolean;
    isDoubleClick: boolean;
}
export interface UiInfiniteItemView_ContextMenuRequestedEvent extends UiEvent {
    requestId: number;
    recordId: number;
}
