import { TemplateRef } from '@angular/core';
import { HorizontalScrollMetadata } from './types';
import * as i0 from "@angular/core";
/**
 * val-horizontal-scroll
 *
 * A generic horizontal scroll container that renders items using a provided template.
 * Useful for carousels, galleries, or any horizontally scrollable content.
 *
 * @example
 * <val-horizontal-scroll
 *   [items]="cards"
 *   [itemTemplate]="cardTemplate"
 *   [props]="{ gap: '16px', snapAlign: 'start' }"
 * ></val-horizontal-scroll>
 *
 * <ng-template #cardTemplate let-item let-index="index">
 *   <div class="card">{{ item.title }}</div>
 * </ng-template>
 *
 * @input items - Array of items to render
 * @input itemTemplate - Template reference for rendering each item
 * @input props - Optional configuration (gap, padding, showScrollbar, snapAlign)
 */
export declare class HorizontalScrollComponent<T = any> {
    /**
     * Array of items to render in the horizontal scroll.
     */
    items: T[];
    /**
     * Template reference for rendering each item.
     * The template receives the item as implicit context and index as 'index'.
     */
    itemTemplate: TemplateRef<any>;
    /**
     * Optional configuration for the horizontal scroll container.
     */
    props?: HorizontalScrollMetadata;
    static ɵfac: i0.ɵɵFactoryDeclaration<HorizontalScrollComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<HorizontalScrollComponent<any>, "val-horizontal-scroll", never, { "items": { "alias": "items"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
}
