import { SelectItem } from 'primeng-lts/api';
export interface AlToolbarContentConfig {
    showSelectAll?: boolean;
    selectAll?: boolean;
    showSortBy?: boolean;
    sort?: {
        options?: SelectItem[];
        order?: 'asc' | 'desc';
        selectedOption?: string;
    };
    showFilters?: boolean;
    filters?: {
        label: string;
        options: SelectItem[];
        selectedOptions: string[];
    };
    showGroupBy?: boolean;
    group?: {
        options?: SelectItem[];
        selectedOption?: string;
    };
    showSearch?: boolean;
    search?: {
        maxSearchLength?: number;
        textPlaceHolder?: string;
    };
    showViewBy?: boolean;
    viewBy?: AlViewByItem[];
}
export interface AlViewByItem {
    default?: boolean;
    icon?: {
        name?: string;
        cssClasses?: string;
    };
    value: any;
    label: string;
}
export interface AlSelectItem<T = any> extends SelectItem {
    id?: string;
    subtitle?: string;
    checked?: boolean;
    parentId?: string;
    details?: string;
    type?: string;
    isMaterialIcon?: boolean;
}
export interface AlChipItem<T = any> extends SelectItem {
    id?: string;
    subtitle?: string;
    separator: 'AND' | 'OR' | 'and' | 'or';
}
export interface AlSelectableListAction {
    icon?: string;
    label?: string;
    isRight?: boolean;
}
export interface AlSelectableListConfig {
    zeroStateIcon: string;
    zeroStateMessage: string;
    height: string;
    action: AlSelectableListAction;
    sortBy: string;
    sortDirection: 'asc' | 'desc';
    scrollItemSize?: number;
    scrollHeight?: string;
}
export interface AlSelectableList {
    key: string;
    title: string;
    optionButton: string;
    labels: string[];
    textAlign: string;
    icon: string;
    type: string;
    tooltip?: string;
    subItems: AlSelectItem[];
    parentId?: string;
    modified?: AlSelectModified;
    description?: AlSelectDescription;
}
export interface SearchableItem {
    searchableVals: Array<string | number>;
}
export declare type searchableItem<T> = T & SearchableItem;
export interface TooltipConfig {
    showTooltip?: boolean;
    tooltipText?: string;
    tooltipPosition?: 'right' | 'left' | 'top' | 'bottom';
}
export interface AlOptionItem {
    value?: any;
    label?: string;
    id?: string | number;
    description?: string;
    selected?: boolean;
    highlighted?: boolean;
    disabled?: boolean;
    items?: AlOptionItem[];
    data?: any;
}
export interface AlSCErrorDescriptor {
    when: {
        [property: string]: string | string[] | number | number[] | boolean;
    };
    message: string;
}
export interface AlSCErrorDictionary {
    services: {
        [serviceName: string]: AlSCErrorDescriptor[];
    };
}
export interface AlSelectModified {
    at: number;
    by: string;
    label: string;
}
export interface AlSelectDescription {
    label: string;
    value: string;
}
