/**
 * Interface for filter operator
 * @interface
 * @property {string} value - Value to be sent with query
 * @property {string} title - User-friendly caption
 */
export interface ISelectOption<T = string> {
    value: T;
    title: string;
}
/**
 * Interface for filter request
 * @interface
 * @property {boolean} active - Indicates that filter should be applied
 * @property {string} property - Column ID
 * @property {string} operator - Comparison operator
 * @property {string} value - Value for filter
 */
export interface IFilter {
    /** Indicates that filter should be applied */
    active?: boolean;
    /** Column ID */
    property: string;
    /** Comparison operator */
    operator: string;
    /** Value for filter */
    value: string | number | boolean | (string | number | boolean)[];
    from?: string | number | boolean;
    to?: string | number;
}
/**
 * Interface for Hint request property
 * @interface
 * @property {string} name - Parameter name
 * @property {string} value - Parameter value
 */
export interface IHint {
    /** Parameter name */
    name: string;
    /** Parameter value */
    value: string;
}
/**
 * Enum for sort orders
 * @readonly
 * @enum {string}
 * @property {"DESC"} DESC - Descending sort order
 * @property {"ASC"} ASC - Ascending sort order
 * @property {"UNSET"} UNSET - Unordered
 */
export declare enum SORT_ORDER {
    /** Descending sort order */
    DESC = "DESC",
    /** Ascending sort order */
    ASC = "ASC",
    /** Unordered */
    UNSET = "UNSET"
}
/**
 * Interface for Hint request property
 * @interface
 * @property {string} field - Column ID
 * @property {SORT_ORDER} order - Sort order
 */
export interface ISort {
    /** Column ID */
    field: string;
    /** Sort order */
    order: SORT_ORDER;
}
/** Actindo.Modules.Actindo.DataHub.Request.Container.EntityDataType.DefaultFilterPropertiesContainer */
export interface IDefaultFilterPropertiesContainer {
    inputType: string;
    items: object;
}
/** Actindo.Modules.Actindo.DataHub.Request.Container.EntityDataType.RenderContainer */
export interface IRenderContainer {
    importPath: string;
    component: string;
    properties: object;
}
/** Actindo.Modules.Actindo.DataHub.Request.Container.EntityDataType.FilterOperatorObject */
export interface IFilterOperatorObject {
    defaultFilterProperties: IDefaultFilterPropertiesContainer;
    customRender: IRenderContainer;
    scopeId: number;
    languageId: number;
}
/** Actindo.Modules.Actindo.DataHub.Request.Container.EntityDataType.CustomFilterContainer */
export interface ICustomFilterContainer {
    importPath: string;
    component: string;
    properties: object;
    operators: IFilterOperatorObject[];
}
export interface IVueComponents {
    configurationComponent?: string;
    configurationImportPath?: string;
    editComponent?: string;
    editImportPath?: string;
    renderComponent?: string;
    renderImportPath?: string;
    etlComponent?: string;
    etlImportPath?: string;
}
/** Actindo.Modules.Actindo.DataHub.Request.Container.EntityDataType.ColumnDefinitionContainer */
export interface IColumnDefinitionContainer {
    attributeId: number;
    columnType: string;
    field: string;
    label: string;
    optional: boolean;
    hidden: boolean;
    filterable: boolean;
    sortable: boolean;
    customFilter: ICustomFilterContainer;
    defaultFilterProperties: IDefaultFilterPropertiesContainer;
    customRender: IRenderContainer;
    scopeId: number;
    languageId: number;
    vueComponents?: IVueComponents;
}
export interface IImageType {
    active: boolean;
    contentType: string;
    created: string;
    createdBy: number;
    description: string;
    id: number | string;
    link: string;
    modified: string;
    modifiedBy: number;
    sortOrder: number;
    title: string;
    _E: number;
}
