import { ComponentType } from 'react';
import { ComponentModel } from '../../common/models';
import { Contextable } from '../../tipser-context';
import { TipserProductModel } from '../product/model';
import { TrackableProps } from '../../common/analytics';
import { ClassNameProps } from '../../common/class-name-props';
import { ProductTileSize } from '../product-tile/types';
import './collection.less';
import './carousel.less';
export declare const COMPONENT_COLLECTION_CONTENT_TYPE = "collection";
export declare type CollectionItemType = {
    id?: string;
    product?: TipserProductModel | {
        id?: string;
    };
};
export declare type CollectionType = {
    id: string;
    name?: string;
    created?: string;
    friendlyUrl?: string;
    items?: CollectionItemType[];
};
export declare type CollectionModel = {
    products?: TipserProductModel[];
    productIds?: string[];
    collectionId?: string;
    collection?: CollectionType;
    title?: string;
    name?: string;
    posId?: string;
    carousel?: boolean;
    imgSize?: ProductTileSize;
} & ComponentModel;
export declare type CollectionProps = TrackableProps & CollectionModel & Contextable & ClassNameProps;
export declare type CollectionComponentState = {
    collection?: CollectionType;
    loading: boolean;
    swipe: boolean;
    isComponentReady: boolean;
};
export declare const Collection: ComponentType<CollectionProps>;
export declare const TrackableCollection: ComponentType<CollectionProps>;
//# sourceMappingURL=collection.d.ts.map