import React from 'react';
import { RendererProps } from '../factory';
import { BaseSchema, SchemaClassName, SchemaCollection, SchemaObject } from '../Schema';
export declare const ColProps: string[];
export declare type GridColumnObject = {
    /**
     * 极小屏（<768px）时宽度占比
     */
    xs?: number;
    /**
     * 极小屏（<768px）时是否隐藏该列
     */
    xsHidden?: boolean;
    /**
     * 极小屏（<768px）时宽度偏移量
     */
    xsOffset?: number;
    /**
     * 极小屏（<768px）时宽度右偏移量
     */
    xsPull?: number;
    /**
     * 极小屏（<768px）时宽度左偏移量
     */
    xsPush?: number;
    /**
     * 小屏时（>=768px）宽度占比
     */
    sm?: number;
    /**
     * 小屏时（>=768px）是否隐藏该列
     */
    smHidden?: boolean;
    /**
     * 小屏时（>=768px）宽度偏移量
     */
    smOffset?: number;
    /**
     * 小屏时（>=768px）宽度右偏移量
     */
    smPull?: number;
    /**
     * 小屏时（>=768px）宽度左偏移量
     */
    smPush?: number;
    /**
     * 中屏时(>=992px)宽度占比
     */
    md?: number;
    /**
     * 中屏时(>=992px)是否隐藏该列
     */
    mdHidden?: boolean;
    /**
     * 中屏时(>=992px)宽度偏移量
     */
    mdOffset?: number;
    /**
     * 中屏时(>=992px)宽度右偏移量
     */
    mdPull?: number;
    /**
     * 中屏时(>=992px)宽度左偏移量
     */
    mdPush?: number;
    /**
     * 大屏时(>=1200px)宽度占比
     */
    lg?: number;
    /**
     * 大屏时(>=1200px)是否隐藏该列
     */
    lgHidden?: boolean;
    /**
     * 大屏时(>=1200px)宽度偏移量
     */
    lgOffset?: number;
    /**
     * 大屏时(>=1200px)宽度右偏移量
     */
    lgPull?: number;
    /**
     * 大屏时(>=1200px)宽度左偏移量
     */
    lgPush?: number;
    mode?: string;
    horizontal?: any;
    body?: SchemaCollection;
    /**
     * 列类名
     */
    columnClassName?: SchemaClassName;
};
export declare type GridColumn = GridColumnObject & SchemaObject;
export declare type ColumnNode = GridColumn | ColumnArray;
export interface ColumnArray extends Array<ColumnNode> {
}
/**
 * Grid 格子布局渲染器。
 * 文档：https://baidu.gitee.io/amis/docs/components/grid
 */
export interface GridSchema extends BaseSchema {
    /**
     * 指定为 Grid 格子布局渲染器。
     */
    type: 'grid';
    columns: Array<GridColumn>;
}
export interface GridProps extends RendererProps, Omit<GridSchema, 'type' | 'className' | 'columnClassName'> {
    itemRender?: (item: any, key: number, length: number, props: any) => JSX.Element;
}
export default class Grid<T> extends React.Component<GridProps & T, object> {
    static propsList: Array<string>;
    static defaultProps: {};
    renderChild(region: string, node: SchemaCollection, key: number, length: number): JSX.Element;
    renderColumn(column: ColumnNode, key: number, length: number): JSX.Element;
    renderColumns(columns: ColumnArray): JSX.Element[] | null;
    render(): JSX.Element;
}
export declare class GridRenderer extends Grid<{}> {
}
