import { GridFooterPositions } from './types/grid-footer-positions';
import { AfterViewInit, ChangeDetectorRef, ComponentFactoryResolver, EventEmitter, OnChanges, OnInit, ViewContainerRef } from '@angular/core';
import { FormioAlerts } from '../components/alerts/formio.alerts';
import { GridHeaderComponent } from './GridHeaderComponent';
import { GridBodyComponent } from './GridBodyComponent';
import { GridFooterComponent } from './GridFooterComponent';
import { FormioPromiseService } from '../formio-promise.service';
import { GridColumn } from './types/grid-column';
import { GridHeader } from './types/grid-header';
export declare class FormioGridComponent implements OnChanges, OnInit, AfterViewInit {
    alerts: FormioAlerts;
    private resolver;
    private ref;
    footerPosition: GridFooterPositions;
    src?: string;
    items?: Array<any>;
    onForm?: Promise<any>;
    query?: any;
    refresh?: EventEmitter<object>;
    columns?: Array<GridColumn>;
    gridType?: string;
    size?: number;
    components?: any;
    formio?: FormioPromiseService;
    createText: String;
    isActionAllowed: any;
    select: EventEmitter<object>;
    rowSelect: EventEmitter<object>;
    rowAction: EventEmitter<object>;
    createItem: EventEmitter<any>;
    error: EventEmitter<any>;
    headerElement: ViewContainerRef;
    bodyElement: ViewContainerRef;
    footerElement: ViewContainerRef;
    page: number;
    isLoading: boolean;
    initialized: boolean;
    header: GridHeaderComponent;
    body: GridBodyComponent;
    footer: GridFooterComponent;
    footerPositions: typeof GridFooterPositions;
    constructor(alerts: FormioAlerts, resolver: ComponentFactoryResolver, ref: ChangeDetectorRef);
    createComponent(property: any, component: any): any;
    loadGrid(src?: string): void;
    ngOnInit(): void;
    ngOnChanges(changes: any): void;
    ngAfterViewInit(): void;
    actionAllowed(action: any): any;
    onError(error: any): void;
    refreshGrid(query?: any): void;
    setPage(num?: number): void;
    sortColumn(header: GridHeader): void;
    pageChanged(page: any): void;
}
