import { SelectionModel } from '@angular/cdk/collections';
import { isSignal } from '@angular/core';
import { FormControl } from '@angular/forms';
import { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table';
import { Subject } from 'rxjs';
import { TableColumn } from '../types';
import * as i0 from "@angular/core";
export declare class MyCustomPaginatorIntl implements MatPaginatorIntl {
    #private;
    changes: Subject<void>;
    firstPageLabel: string;
    itemsPerPageLabel: string;
    lastPageLabel: string;
    nextPageLabel: string;
    previousPageLabel: string;
    rangeLabel0: string;
    pageLabel: string;
    ofLabel: string;
    getRangeLabel(page: number, pageSize: number, length: number): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<MyCustomPaginatorIntl, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<MyCustomPaginatorIntl>;
}
/**
 * @deprecated use tailwindcss
 */
export declare class NgmTableComponent {
    #private;
    isSignal: typeof isSignal;
    /**
    |--------------------------------------------------------------------------
    | Inputs and Outputs
    |--------------------------------------------------------------------------
    */
    readonly data: import("@angular/core").InputSignal<unknown[]>;
    readonly columns: import("@angular/core").InputSignal<TableColumn[]>;
    readonly paging: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
    readonly pageSizeOptions: import("@angular/core").InputSignal<number[]>;
    readonly grid: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
    readonly selectable: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
    readonly displayDensity: import("@angular/core").InputSignal<string>;
    /**
     * A cell or row was selected.
     */
    readonly rowSelectionChanging: import("@angular/core").OutputEmitterRef<any[]>;
    /**
    |--------------------------------------------------------------------------
    | Child Components
    |--------------------------------------------------------------------------
    */
    readonly paginator: import("@angular/core").Signal<MatPaginator>;
    readonly sort: import("@angular/core").Signal<MatSort>;
    /**
    |--------------------------------------------------------------------------
    | Signals
    |--------------------------------------------------------------------------
    */
    readonly displayedColumns: import("@angular/core").WritableSignal<string[]>;
    dataSource: MatTableDataSource<any, MatPaginator>;
    searchControl: FormControl<string>;
    searchingColumn: string;
    selection: SelectionModel<any>;
    constructor();
    _context(data: Record<string, unknown>, column: TableColumn): {
        $implicit: unknown;
    };
    getValue(row: any, name: string): any;
    escapeSearching(event: any): void;
    /** Whether the number of selected elements matches the total number of rows. */
    isAllSelected(): boolean;
    /** Selects all rows if they are not all selected; otherwise clear selection. */
    toggleAllRows(): void;
    /** The label for the checkbox on the passed row */
    checkboxLabel(row?: any): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgmTableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgmTableComponent, "ngm-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "paging": { "alias": "paging"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "displayDensity": { "alias": "displayDensity"; "required": false; "isSignal": true; }; }, { "rowSelectionChanging": "rowSelectionChanging"; }, never, never, true, never>;
}
