import { OnChanges, SimpleChanges, TemplateRef } from '@angular/core';
import { IToken } from '@seniorsistemas/angular-components/token-list';
import { Column, ColumnValues, TableColumnLocaleOptions } from './models';
import * as i0 from "@angular/core";
/**
 * @description Componente interno que renderiza uma linha de colunas da tabela,
 * aplicando formatação localizada (data, número, moeda, token, etc.) para cada coluna.
 * Normalmente usado dentro do contexto de uma tabela PrimeNG.
 *
 * @example
 * ```html
 * <s-table-columns [columns]="colunas" [rowValue]="linha" />
 * ```
 *
 * @category Data
 */
export declare class TableColumnsComponent implements OnChanges {
    private readonly localeService;
    private readonly viewContainerRef;
    private readonly translate;
    private readonly numericService;
    private readonly hostProjectConfigs;
    columnsTemplate: TemplateRef<any> | null;
    /** @description Lista de configurações das colunas a serem renderizadas. @default [] */
    columns: Column[];
    /** @description Objeto da linha com os valores a serem exibidos nas colunas. Campo obrigatório. */
    rowValue: any;
    /** @description Opções de localização (calendário e número) usadas para formatação. @default null */
    locale: TableColumnLocaleOptions | null;
    cellsData: (CellData | null)[];
    formattedColumns: ColumnValues[];
    constructor();
    ngOnChanges(changes: SimpleChanges): void;
    isArray(value: any): boolean;
    getTokensByColumn(column: ColumnValues): IToken[];
    private getCellData;
    private validateComponentAttributes;
    private createColumnsTemplate;
    private getColumnSeparator;
    private getTranslationPrefix;
    private isAttributeValueInvalid;
    private getFormattedColumnValue;
    private getAttributeValue;
    private getNumberConfigs;
    private getDateFormat;
    private getColumnValue;
    private getColumnScale;
    private getColumnInfoSign;
    private getColumnTooltip;
    private isNumber;
    private getTokens;
    private isValidTokenArray;
    private isPrimitiveValuesArray;
    private isLabelObjectArray;
    private sortColumnsBySequence;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableColumnsComponent, "s-table-columns", never, { "columns": { "alias": "columns"; "required": false; }; "rowValue": { "alias": "rowValue"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; }, {}, never, never, true, never>;
}
type CellData = {
    value: string;
    isUninformed: boolean;
    separator: string | null;
}[];
export {};
