import { InjectionToken } from '@angular/core';
import { SdTableOptionPaginate } from '../models/table-option-paginate.model';
import { SdTableOptionFilter } from '../services/table-filter/table-filter.model';
import { SdOperator } from '@sd-angular/core/utilities';
import { SdTableColumn } from '../models';
export interface ISdTableConfiguration {
    paginate?: {
        /** Số dòng mỗi trang. */
        pageSize?: SdTableOptionPaginate['pageSize'];
        /** Danh sách các tuỳ chọn số dòng/trang mà người dùng có thể chọn. */
        pages?: SdTableOptionPaginate['pages'];
        showFirstLastButtons?: SdTableOptionPaginate['showFirstLastButtons'];
    };
    filter?: {
        /** Ẩn bộ lọc dưới cột, nếu không cấu hình thì giá trị mặc định là false */
        hideInlineFilter?: SdTableOptionFilter['hideInlineFilter'];
        /** Số lượng external filter mỗi dòng, mặc định là 6 */
        externalFilterPerRow?: SdTableOptionFilter['externalFilterPerRow'];
        /**  Kích hoạt chế độ lọc thủ công, hiển thị nút áp dụng, mặc định là false */
        manualFilter?: SdTableOptionFilter['manualFilter'];
        /** Ẩn toolbar (xóa bộ lọc, thiết lập) của external filter, khi có ít external filter user không cần chức năng này, mặc định là false */
        hideExternalFilterToolbar?: SdTableOptionFilter['hideExternalFilterToolbar'];
        operator?: {
            list?: Partial<Record<SdTableColumn['type'], SdOperator[]>>;
            default?: Partial<Record<SdTableColumn['type'], SdOperator>>;
        };
    };
    images?: {
        filterRequired?: string;
        dataEmpty?: string;
        filterEmpty?: string;
    };
}
export declare const DEFAULT_TABLE_CONFIG: ISdTableConfiguration;
export declare const SD_TABLE_CONFIGURATION: InjectionToken<ISdTableConfiguration>;
