import { DockItem } from './dockItem';
import { Dock } from './dock';
export interface GridSort extends Object {
    property: string;
    direction: string;
}
export interface GridFilter extends Object {
    property: string;
    value: string;
}
/**
 * @Author [GrigoreMe](https://github.com/grigoreme)
 */
export declare class GridColumn {
    align?: string;
    dataIndex?: string;
    flex?: number;
    hidden?: boolean;
    text?: string;
    type?: string;
    width?: number;
    constructor(align?: string, dataIndex?: string, flex?: number, hidden?: boolean, text?: string, type?: string, width?: number);
}
/**
 * @Author [GrigoreMe](https://github.com/grigoreme)
 */
export declare class Store {
    autoLoad?: boolean;
    formFilter?: any[];
    passColumns?: {
        key: string;
        operator: any;
        value: string | number;
    }[];
    proxy?: {
        url: string;
        multilang: boolean;
    };
    remoteFilter?: boolean;
    remoteSort?: boolean;
    title?: string;
    constructor(autoLoad?: boolean, formFilter?: any[], passColumns?: {
        key: string;
        operator: any;
        value: string | number;
    }[], proxy?: {
        url: string;
        multilang: boolean;
    }, remoteFilter?: boolean, remoteSort?: boolean, title?: string);
}
/**
 * @Author [GrigoreMe](https://github.com/grigoreme)
 */
export declare class GridComponentConfig {
    columns?: GridColumn[];
    store?: Store;
    dockedItems?: Dock[];
    idFilterProperty?: string;
    model?: any;
    predefinedFilter?: GridFilter[];
    title?: string;
    editHandlers?: EditHandlers;
    constructor(columns?: GridColumn[], store?: Store, dockedItems?: Dock[], idFilterProperty?: string, model?: any, predefinedFilter?: GridFilter[], title?: string, editHandlers?: EditHandlers);
}
/**
 * @Author [GrigoreMe](https://github.com/grigoreme)
 */
export declare class EditHandlers {
    autoNewRow?: boolean;
    allowInlineEdit?: boolean;
    addAction?: DockItem;
    deleteAction?: DockItem;
    editAction?: DockItem;
    selectActionRo?: any;
    constructor(autoNewRow?: boolean, allowInlineEdit?: boolean, addAction?: DockItem, deleteAction?: DockItem, editAction?: DockItem, selectActionRo?: any);
}
