import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { QdTableDataResolver } from '../../model/table-data-resolver';
import { QdTableStoreService } from '../../store/table-store.service';
import type { PageSize } from './table-paginator-page-size.component';
import * as i0 from "@angular/core";
/**
 * A directive that allows the paginator to set the page size of a table paginator. Also writes the result to the store.
 *
 * This directive listens for click events on the element it applies to, and calls the StoreService's `setPageSize' method if necessary.
 */
export declare class QdTablePaginatorPageSizeDirective<T extends string> implements OnInit, OnDestroy {
    private readonly tableDataResolver;
    private readonly elementRef;
    private readonly tableStoreService;
    qdTablePaginatorPageSize: PageSize;
    private _destroyed$;
    constructor(tableDataResolver: QdTableDataResolver<T>, elementRef: ElementRef, tableStoreService: QdTableStoreService<T>);
    ngOnInit(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdTablePaginatorPageSizeDirective<any>, [{ optional: true; }, null, null]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<QdTablePaginatorPageSizeDirective<any>, "[qdTablePaginatorPageSize]", never, { "qdTablePaginatorPageSize": { "alias": "qdTablePaginatorPageSize"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=table-paginator-page-size.directive.d.ts.map