import { EventEmitter } from '../../../../stencil.core';
import { BooleanLabelFormatter } from '../../../../types/types';
import { RowSelectionChange, RowSelectionMode } from '../../table.types';
import { IntlFormatFn } from '../../../locale/i18n.provider';
export declare class RowSelectControl {
    private clickListener;
    private rowEl;
    element: HTMLAnjRowSelectControlElement;
    /**
     * The key for the row
     */
    rowKey: number | string;
    /**
     * The key for the row
     */
    labelFormatter: BooleanLabelFormatter;
    /**
     * The mode of selection
     * Possible values are: `"batch"` and `"single`. Defaults to "single"
     */
    mode: RowSelectionMode;
    /**
     * Is the row selected
     */
    selected: boolean;
    /**
     * If true, will render a checkbox for batch selection and a radio button for single
     */
    showCheck: boolean;
    /**
     * @internal
     */
    translator: IntlFormatFn;
    onSelected(): void;
    /**
     * Emitted when the the row for this selector has been selected or de-selected
     */
    anjRowSelectClick: EventEmitter<RowSelectionChange>;
    componentDidLoad(): Promise<void>;
    componentDidUnload(): void;
    onRowSelect(event?: CustomEvent | MouseEvent): void;
    private defaultLabelFormatter;
    private checkOnly;
    render(): any;
}
