/**
 * 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 { UiInfiniteItemViewClientRecordConfig } from "./UiInfiniteItemViewClientRecordConfig";
import { UiHorizontalElementAlignment } from "./UiHorizontalElementAlignment";
import { UiVerticalElementAlignment } from "./UiVerticalElementAlignment";
import { UiItemJustification } from "./UiItemJustification";
import { UiComponentCommandHandler } from "./UiComponentConfig";
export interface UiInfiniteItemView2Config extends UiComponentConfig {
    _type?: string;
    itemTemplate: UiTemplateConfig;
    itemWidth?: number;
    itemHeight?: number;
    horizontalSpacing?: number;
    verticalSpacing?: number;
    itemPositionAnimationTime?: number;
    itemContentHorizontalAlignment?: UiHorizontalElementAlignment;
    itemContentVerticalAlignment?: UiVerticalElementAlignment;
    rowHorizontalAlignment?: UiItemJustification;
    contextMenuEnabled?: boolean;
    selectionEnabled?: boolean;
}
export interface UiInfiniteItemView2CommandHandler extends UiComponentCommandHandler {
    setData(startIndex: number, recordIds: number[], newRecords: UiInfiniteItemViewClientRecordConfig[], totalNumberOfRecords: number): any;
    setItemTemplate(itemTemplate: UiTemplateConfig): any;
    setItemWidth(itemWidth: number): any;
    setItemHeight(itemHeight: number): any;
    setHorizontalSpacing(horizontalSpacing: number): any;
    setVerticalSpacing(verticalSpacing: number): any;
    setItemContentHorizontalAlignment(itemContentHorizontalAlignment: UiHorizontalElementAlignment): any;
    setItemContentVerticalAlignment(itemContentVerticalAlignment: UiVerticalElementAlignment): any;
    setRowHorizontalAlignment(rowHorizontalAlignment: UiItemJustification): any;
    setItemPositionAnimationTime(animationMillis: number): any;
    setSelectionEnabled(selectionEnabled: boolean): any;
    setSelectedRecord(uiRecordId: number): any;
    setContextMenuContent(requestId: number, component: unknown): any;
    closeContextMenu(requestId: number): any;
}
export interface UiInfiniteItemView2EventSource {
    onDisplayedRangeChanged: TeamAppsEvent<UiInfiniteItemView2_DisplayedRangeChangedEvent>;
    onItemClicked: TeamAppsEvent<UiInfiniteItemView2_ItemClickedEvent>;
    onContextMenuRequested: TeamAppsEvent<UiInfiniteItemView2_ContextMenuRequestedEvent>;
}
export interface UiInfiniteItemView2_DisplayedRangeChangedEvent extends UiEvent {
    startIndex: number;
    length: number;
}
export interface UiInfiniteItemView2_ItemClickedEvent extends UiEvent {
    recordId: number;
    isDoubleClick: boolean;
}
export interface UiInfiniteItemView2_ContextMenuRequestedEvent extends UiEvent {
    requestId: number;
    recordId: number;
}
