/**
 * @license
 * Copyright Alibaba.com All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */
import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef, TrackByFunction } from '@angular/core';
import { NzConfigService } from 'ng-zorro-antd/core';
import { NzResizeObserver } from 'ng-zorro-antd/core/resize-observers';
import { NzSafeAny } from 'ng-zorro-antd/core/types';
import { PaginationItemRenderContext } from 'ng-zorro-antd/pagination';
import { NzTableDataService } from '../table-data.service';
import { NzTableStyleService } from '../table-style.service';
import { NzTableDataType, NzTableLayoutType, NzTablePaginationPositionType, NzTableSizeType } from '../table.types';
import { NzTableInnerScrollComponent } from './table-inner-scroll.component';
import { NzTableVirtualScrollDirective } from './table-virtual-scroll.directive';
import * as i0 from "@angular/core";
export declare class NzTableComponent implements OnInit, OnDestroy, OnChanges, AfterViewInit {
    private elementRef;
    private nzResizeObserver;
    private nzConfigService;
    private cdr;
    private nzTableStyleService;
    private nzTableDataService;
    nzTableLayout: NzTableLayoutType;
    nzShowTotal: TemplateRef<{
        $implicit: number;
        range: [number, number];
    }> | null;
    nzItemRender: TemplateRef<PaginationItemRenderContext> | null;
    nzLoadingIndicator: TemplateRef<NzSafeAny> | null;
    nzTitle: string | TemplateRef<NzSafeAny> | null;
    nzFooter: string | TemplateRef<NzSafeAny> | null;
    nzNoResult: string | TemplateRef<NzSafeAny> | undefined;
    nzPageSizeOptions: number[];
    nzVirtualItemSize: number;
    nzVirtualMaxBufferPx: number;
    nzVirtualMinBufferPx: number;
    nzVirtualForTrackBy: TrackByFunction<NzTableDataType>;
    nzLoadingDelay: number;
    nzPageIndex: number;
    nzPageSize: number;
    nzTotal: number;
    nzWidthConfig: Array<string | null>;
    nzData: NzTableDataType[];
    nzPaginationPosition: NzTablePaginationPositionType;
    nzScroll: {
        x?: string | null;
        y?: string | null;
    };
    nzFrontPagination: boolean;
    nzTemplateMode: boolean;
    nzShowPagination: boolean;
    nzLoading: boolean;
    nzBordered: boolean;
    nzSize: NzTableSizeType;
    nzShowSizeChanger: boolean;
    nzHideOnSinglePage: boolean;
    nzShowQuickJumper: boolean;
    nzSimple: boolean;
    readonly nzPageSizeChange: EventEmitter<number>;
    readonly nzPageIndexChange: EventEmitter<number>;
    readonly nzCurrentPageDataChange: EventEmitter<any[]>;
    /** public data for ngFor tr */
    data: NzTableDataType[];
    cdkVirtualScrollViewport: CdkVirtualScrollViewport;
    scrollX: string | null;
    scrollY: string | null;
    theadTemplate: TemplateRef<NzSafeAny> | null;
    listOfColWidth: Array<string | null>;
    hasFixLeft: boolean;
    hasFixRight: boolean;
    private destroy$;
    private loading$;
    private templateMode$;
    nzVirtualScrollDirective: NzTableVirtualScrollDirective;
    nzTableInnerScrollComponent: NzTableInnerScrollComponent;
    verticalScrollBarWidth: number;
    onPageSizeChange(size: number): void;
    onPageIndexChange(index: number): void;
    constructor(elementRef: ElementRef, nzResizeObserver: NzResizeObserver, nzConfigService: NzConfigService, cdr: ChangeDetectorRef, nzTableStyleService: NzTableStyleService, nzTableDataService: NzTableDataService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDef<NzTableComponent>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<NzTableComponent, "nz-table", ["nzTable"], { "nzTableLayout": "nzTableLayout"; "nzShowTotal": "nzShowTotal"; "nzItemRender": "nzItemRender"; "nzLoadingIndicator": "nzLoadingIndicator"; "nzTitle": "nzTitle"; "nzFooter": "nzFooter"; "nzNoResult": "nzNoResult"; "nzPageSizeOptions": "nzPageSizeOptions"; "nzVirtualItemSize": "nzVirtualItemSize"; "nzVirtualMaxBufferPx": "nzVirtualMaxBufferPx"; "nzVirtualMinBufferPx": "nzVirtualMinBufferPx"; "nzVirtualForTrackBy": "nzVirtualForTrackBy"; "nzLoadingDelay": "nzLoadingDelay"; "nzPageIndex": "nzPageIndex"; "nzPageSize": "nzPageSize"; "nzTotal": "nzTotal"; "nzWidthConfig": "nzWidthConfig"; "nzData": "nzData"; "nzPaginationPosition": "nzPaginationPosition"; "nzScroll": "nzScroll"; "nzFrontPagination": "nzFrontPagination"; "nzTemplateMode": "nzTemplateMode"; "nzShowPagination": "nzShowPagination"; "nzLoading": "nzLoading"; "nzBordered": "nzBordered"; "nzSize": "nzSize"; "nzShowSizeChanger": "nzShowSizeChanger"; "nzHideOnSinglePage": "nzHideOnSinglePage"; "nzShowQuickJumper": "nzShowQuickJumper"; "nzSimple": "nzSimple"; }, { "nzPageSizeChange": "nzPageSizeChange"; "nzPageIndexChange": "nzPageIndexChange"; "nzCurrentPageDataChange": "nzCurrentPageDataChange"; }, ["nzVirtualScrollDirective"]>;
}
