import { TemplateRef } from '@angular/core';
import { CarbonTag } from './carbon-tag.model';
declare enum ViewType {
    ACTION = "dropdownActions",
    ARRAY_COUNT = "arrayCount",
    BOOLEAN = "boolean",
    CURRENCY = "currency",
    DATE = "date",
    DATE_TIME = "datetime",
    ENUM = "enum",
    NUMBER = "number",
    PERCENT = "percent",
    TAGS = "tags",
    TEMPLATE = "template",
    TEXT = "text",
    UNDERSCORES_TO_SPACES = "underscoresToSpaces"
}
interface CarbonListSelectTranslations {
    single: string;
    multiple: string;
}
interface CarbonListPaginationTranslations {
    itemsPerPage: string;
    totalItem: string;
    totalItems: string;
}
interface CarbonListItem {
    [key: string]: any;
    locked?: boolean;
    tags?: CarbonTag[];
}
interface CarbonListTranslations {
    select: CarbonListSelectTranslations;
    pagination: CarbonListPaginationTranslations;
}
interface CarbonListBatchText {
    SINGLE: string;
    MULTIPLE: string;
}
interface ActionItem {
    label: string;
    callback: (_: any) => void;
    disabledCallback?: (_: any) => boolean;
    iconClass?: string;
    type?: 'normal' | 'danger';
}
interface ColumnConfig extends ListField {
    viewType: string | ViewType;
    className?: string;
    currencyCode?: string;
    digitsInfo?: string;
    display?: string;
    enum?: Array<string> | {
        [key: string]: string;
    };
    format?: string;
    template?: TemplateRef<any>;
    templateData?: object;
    tooltipCharLimit?: number;
    tagAmount?: number;
}
declare enum MoveRowDirection {
    UP = "UP",
    DOWN = "DOWN"
}
interface MoveRowEvent {
    direction: MoveRowDirection;
    index: number;
}
declare const DEFAULT_LIST_TRANSLATIONS: CarbonListTranslations;
interface ListField {
    key: string;
    label: string;
    viewType?: string;
    default?: string | boolean;
    sortable?: boolean;
    tagAmount?: number;
}
interface CarbonListNoResultsMessage {
    description: string;
    isSearchResult: boolean;
    title: string;
}
interface DragAndDropEvent {
    startIndex: number;
    newIndex: number;
}
export { ActionItem, CarbonListBatchText, CarbonListSelectTranslations, CarbonListItem, CarbonListTranslations, ColumnConfig, DEFAULT_LIST_TRANSLATIONS, ListField, MoveRowDirection, MoveRowEvent, ViewType, CarbonListNoResultsMessage, DragAndDropEvent, };
//# sourceMappingURL=carbon-list.model.d.ts.map