import { EventEmitter } from "../../stencil-public-runtime";
export declare class TableColumn {
  /**
   * An event emitted when the column updates for any reason, including when it is disconnected
   */
  glTableColumnChanged: EventEmitter;
  /**
   * What attribute in the data this specific column represents
   */
  readonly attribute: string;
  /**
   * The name of the attribute which holds the css class name for the cells of this column.
   */
  readonly cellClassAttribute: string;
  /**
   * The name of the JSX component which is used to render this cell, if any
   */
  readonly component: string;
  /**
   * Additional properties passed to a JSX component used to render this cell
   */
  readonly componentProps: any;
  /**
   * Whether or not this column will be exported if the user exports the table as a csv document.
   * In effect setting this option to false is a way to exclude this column from csv exports.
   */
  readonly csv: boolean;
  /**
   * If the contents of this column are text based, the format of that text.
   * This could either be the strings "currency", "decimal", "percent", or an object that represents the options sent to a toLocaleString call.
   *
   * E.g. format="currency" or format={style:"decimal", notation:"scientific"}
   */
  format: string | any;
  /**
   * A label for this column, used in the toggle-visibility button and when choosing ascending or descending sort order.
   */
  readonly label: string;
  /**
   * Whether or not this column will be exported if the user exports the table as a pdf document.
   * In effect setting this option to false is a way to exclude this column from pdf exports.
   */
  readonly pdf: boolean;
  /**
   * Whether or not the data can be sorted by the contents of this column.
   */
  readonly sortable: boolean;
  /**
   * Whether or not this column is rendered and visible to the user.
   */
  readonly visible: boolean;
  componentWillLoad(): void;
  componentDidLoad(): void;
  componentDidUpdate(): void;
  disconnectedCallback(): void;
  updateFormat(): void;
  private change;
}
