/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, QueryList, SimpleChanges, ElementRef, Renderer2, NgZone, OnInit, AfterViewInit, OnDestroy, AfterContentInit, OnChanges } from '@angular/core';
import { TileLayoutDraggingService } from './dragging-service';
import { TileLayoutResizeEvent } from './resize-event';
import { TileLayoutItemComponent } from './tilelayout-item.component';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { TileLayoutReorderEvent } from './reorder-event';
import { TileLayoutGap } from './models/gap.interface';
import { TileLayoutFlowMode } from './models/flowmode.type';
import { TileLayoutKeyboardNavigationService } from './keyboard-navigation.service';
import * as i0 from "@angular/core";
/**
* Represents the [Kendo UI TileLayout component for Angular]({% slug overview_tilelayout %})
*
* @example
* ```html
*
* Content 1
* Content 2
*
* ```
* @remarks
* Supported children components are: {@link TileLayoutItemComponent}.
*/
export declare class TileLayoutComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy, OnChanges {
private zone;
private elem;
private renderer;
private localization;
private draggingService;
private navigationService;
/**
* Specifies the number of columns ([see example](slug:tiles_tilelayout#size-and-position)).
* @default 1
*/
columns: number;
/**
* Sets the width of the columns.
* Use numeric values for pixels or string values for other CSS units ([see example](slug:tiles_tilelayout#size-and-position)).
* @default '1fr'
*/
columnWidth: string | number;
/**
* Sets the spacing between layout items in pixels.
* Use an object with `rows` and `columns` properties to set different horizontal and vertical spacing.
* Use a single number to apply the same spacing to both directions.
*
* @default { rows: 16, columns: 16 }
*/
set gap(value: TileLayoutGap | number);
get gap(): TileLayoutGap | number;
/**
* Enables or disables item reordering ([see example]({% slug reordering_tilelayout %})).
* @default false
*/
reorderable: boolean;
/**
* Enables or disables item resizing ([see example]({% slug resizing_tilelayout %})).
* @default false
*/
resizable: boolean;
/**
* Sets the height of the rows.
* Use numeric values for pixels or string values for other CSS units ([see example](slug:tiles_tilelayout#size-and-position)).
* @default '1fr'
*/
rowHeight: string | number;
/**
*
* Controls how the auto-placement algorithm works, specifying exactly how auto-placed items are flowed in the TileLayout ([see example]({% slug tiles_autoflow_tilelayout %})).
*
* For further reference, check the [grid-auto-flow CSS article](https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow).
* @default 'column'
*/
autoFlow: TileLayoutFlowMode;
/**
* Enables or disables [keyboard navigation](slug:keyboard_navigation_tilelayout).
* @default true
*/
navigable: boolean;
/**
* Fires when item reordering is completed ([see example]({% slug reordering_tilelayout %})).
* You can prevent this event to cancel the reorder operation.
*/
reorder: EventEmitter;
/**
* Fires when item resizing is completed ([see example]({% slug resizing_tilelayout %})).
* You can prevent this event to cancel the resize operation.
*/
resize: EventEmitter;
hostClass: boolean;
hostRole: string;
get gapStyle(): string;
direction: 'ltr' | 'rtl';
get currentColStart(): string;
get currentRowStart(): string;
get draggedItemWrapper(): HTMLElement;
get targetOrder(): number;
/**
* Contains a query list of the `TileLayoutItemComponent` instances that are used in the TileLayout.
* This allows you to access the items programmatically and manipulate their properties or listen to their events.
*/
items: QueryList;
private hint;
/**
* @hidden
*/
showLicenseWatermark: boolean;
private draggable;
private subs;
private _gap;
constructor(zone: NgZone, elem: ElementRef, renderer: Renderer2, localization: LocalizationService, draggingService: TileLayoutDraggingService, navigationService: TileLayoutKeyboardNavigationService);
ngOnInit(): void;
ngAfterViewInit(): void;
ngAfterContentInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
private handlePress;
private handleDrag;
private handleRelease;
private applyColStyling;
private applyRowStyling;
private draggingServiceConfig;
private initializeDraggable;
private applyAutoFlow;
private setItemsOrder;
private onFocusIn;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}