import { OnInit, PipeTransform } from '@angular/core';
import { JsonFormsAngularService, JsonFormsArrayControl } from '@jsonforms/angular';
import { ArrayControlProps, ArrayTranslations, ControlElement, JsonSchema, OwnPropsOfRenderer, RankedTester, UISchemaElement } from '@jsonforms/core';
import * as i0 from "@angular/core";
interface ColumnDescription {
    property: string;
    header: string;
    props: OwnPropsOfRenderer;
}
export declare const controlWithoutLabel: (scope: string) => ControlElement;
export declare class GetProps implements PipeTransform {
    transform(index: number, props: OwnPropsOfRenderer): {
        schema: JsonSchema;
        uischema: UISchemaElement;
        path: string;
    };
    static ɵfac: i0.ɵɵFactoryDeclaration<GetProps, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<GetProps, "getProps", true>;
}
export declare class TableRenderer extends JsonFormsArrayControl implements OnInit {
    detailUiSchema: UISchemaElement;
    displayedColumns: string[];
    items: ColumnDescription[];
    readonly columnsToIgnore: string[];
    addItem: (path: string, value: any) => () => void;
    moveItemUp: (path: string, index: number) => () => void;
    moveItemDown: (path: string, index: number) => () => void;
    removeItems: (path: string, toDelete: number[]) => () => void;
    translations: ArrayTranslations;
    constructor(jsonformsService: JsonFormsAngularService);
    trackElement(index: number, _element: any): number;
    mapAdditionalProps(props: ArrayControlProps & {
        translations: ArrayTranslations;
    }): void;
    remove(index: number): void;
    add(): void;
    up(index: number): void;
    down(index: number): void;
    ngOnInit(): void;
    generateCells: (schema: JsonSchema, rowPath: string) => ColumnDescription[];
    getValidColumnProps: (scopedSchema: JsonSchema) => string[];
    static ɵfac: i0.ɵɵFactoryDeclaration<TableRenderer, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableRenderer, "TableRenderer", never, {}, {}, never, never, true, never>;
}
export declare const TableRendererTester: RankedTester;
export {};
//# sourceMappingURL=table.renderer.d.ts.map