export declare type GoogleViz = { charts: GoogleChartLoader; visualization: { ChartWrapper: GoogleChartWrapper; ChartEditor: GoogleChartEditor; DataTable: GoogleDataTable; DataView: GoogleDataView; events: GoogleVizEvents; arrayToDataTable: GoogleArrayToDataTable; drawToolbar: GoogleVizDrawToolbar; [otherKeys: string]: any; }; }; export declare type GoogleChartLoader = { load: (version: GoogleChartVersion, googleChartOptions: GoogleChartLoaderOptions) => void; setOnLoadCallback: (callback: () => void) => void; }; export declare type GoogleChartWrapper = { new (element: Element): GoogleChartWrapper; getContainer(): Element; getSelection(): ChartSelection[]; setSelection(selection?: ChartSelection[] | null): void; draw: (data: GoogleDataTable | GoogleDataView, options: GoogleChartOptions) => any; clearChart(): void; getImageURI(): string; getAction(id: string | number): ChartAction; getBoundingBox(id: string): ChartBoundingBox; getChartAreaBoundingBox(): ChartBoundingBox; getChartLayoutInterface(): ChartLayoutInterface; getHAxisValue(position: number, axisIndex?: number): number; getVAxisValue(position: number, axisIndex?: number): number; getXLocation(position: number, axisIndex?: number): number; getYLocation(position: number, axisIndex?: number): number; removeAction(id: string | number): void; setAction(action: ChartAction): void; }; export interface ChartSelection { column?: number | null | undefined; row?: number | null | undefined; } export interface ChartAction { id: string | number; text: string; action: () => void; } export interface ChartBoundingBox { left: number; top: number; width: number; height: number; } export interface ChartLayoutInterface { getBoundingBox(id: string): ChartBoundingBox; getChartAreaBoundingBox(): ChartBoundingBox; getHAxisValue(position: number, axisIndex?: number): number; getVAxisValue(position: number, axisIndex?: number): number; getXLocation(position: number, axisIndex?: number): number; getYLocation(position: number, axisIndex?: number): number; } export declare type GoogleChartEditor = { new (): GoogleChartEditor; openDialog: (chartWrapper: GoogleChartWrapper, chartEditorOptions?: { dataSourceInput?: any; [otherKeyMaybe: string]: any; }) => null; getChartWrapper: () => GoogleChartWrapper; setChartWrapper: (chartWrapper: GoogleChartWrapper) => GoogleChartWrapper; closeDialog: () => null; }; export declare type GoogleDataTable = { new (dataParam: any): GoogleDataTable; addColumn: (column: GoogleDataTableColumn) => number; addRow: (row?: GoogleDataTableRow) => number; addRows: (rows?: GoogleDataTableRow[] | number[] | any[]) => number; clone: () => GoogleDataTable; getColumnId: (columnIndex: number) => string; getColumnLabel: (columnIndex: number) => string; getColumnPattern: (columnIndex: number) => string; getColumnProperties: (columnIndex: number) => {}; getColumnProperty: (columnIndex: number, name: string) => any; getColumnRange: (columnIndex: number) => { min: number | null; max: number | null; }; getColumnRole: (columnIndex: number) => GoogleDataTableColumnRoleType; getColumnType: (columnIndex: number) => GoogleDataTableColumnType; getDistinctValues: (columnIndex: number) => any[]; getFilteredRows: (filters: GoogleDataTableRowFilter[]) => number[]; getFormattedValue: (rowIndex: number, columnIndex: number) => string; getNumberOfColumns: () => number; getNumberOfRows: () => number; getProperties: (rowIndex: number, columnIndex: number) => {}; getProperty: (rowIndex: number, columnIndex: number, name: string) => any; getRowProperties: (rowIndex: number) => {}; getRowProperty: (rowIndex: number, name: string) => any; getSortedRows: (sortColumns: GoogleDataTableSortColumns) => number[]; getTableProperties: () => {}; getTableProperty: (name: string) => any; getValue: (rowIndex: number, columnIndex: number) => boolean | string | number | Date | number[] | null; insertColumn: (columnIndex: number, type: GoogleDataTableColumnType, label?: string, id?: string) => void; insertRows: (rowIndex: number, numberOrArray: GoogleDataTableRow[] | number) => void; removeColumn: (columnIndex: number) => void; removeColumns: (columnIndex: number, numberOfColumns: number) => void; removeRow: (rowIndex: number) => void; removeRows: (rowIndex: number, numberOfColumns: number) => void; setCell: (rowIndex: number, columnIndex: number, value?: any, formattedValue?: string, properties?: {}) => {}; setColumnLabel: (columnIndex: number, label: string) => void; setColumnProperty: (columnIndex: number, name: string, value: any) => void; setColumnProperties: (columnIndex: number, properties: {} | null) => void; setFormattedValue: (rowIndex: number, columnIndex: number, formattedValue: string) => void; setProperty: (rowIndex: number, columnIndex: number, name: string, value: any) => void; setProperties: (rowIndex: number, columnIndex: number, properties: {} | null) => void; setRowProperty: (rowIndex: number, name: string, value: any) => void; setRowProperties: (rowIndex: number, properties: {} | null) => void; setTableProperties: (properties: {} | null) => void; setValue: (rowIndex: number, columnIndex: number, value: string) => void; sort: (sortColumns: GoogleDataTableSortColumns) => void; toJSON: () => string; }; export declare type GoogleVizEvents = { addListener: (chartWrapper: GoogleChartWrapper | GoogleChartControl | GoogleChartEditor, name: GoogleVizEventName, onEvent: (chartWrapper: GoogleChartWrapper) => any) => any; removeListener: (chartWrapper: GoogleChartWrapper, name: GoogleVizEventName, callback: Function) => any; removeAllListeners: (chartWrapper: GoogleChartWrapper) => any; }; export declare type GoogleArrayToDataTable = (data: any[][], isFirstRowLabels?: boolean) => GoogleDataTable; export declare type GoogleVizDrawToolbar = (toolbarContainer: HTMLDivElement, components: GoogleChartToolbarItem[]) => any; export declare type GoogleChartVersion = 'current' | 'upcoming'; export declare type GoogleChartLoaderOptions = { packages?: GoogleChartPackages[]; language?: string; mapsApiKey?: string; }; export interface ChartWrapperOptions { chartType: string; containerId: string; options: Partial<{ width: number; height: number; is3D: boolean; title: string; backgroundColor: string; hAxis?: { minValue?: any; maxValue?: any; ticks?: GoogleChartTicks; title?: string; viewWindow?: { max?: any; min?: any; }; [otherOptionKey: string]: any; }; vAxis?: { minValue?: any; maxValue?: any; ticks?: GoogleChartTicks; title?: string; viewWindow?: { max?: any; min?: any; }; [otherOptionKey: string]: any; }; legend: any; colors: string[]; [otherOptionKey: string]: any; }>; dataTable?: GoogleDataTable; dataSourceUrl?: string; query?: string; refreshInterval?: number; view: any[] | {}; [otherOptionKey: string]: any; } export interface ChartWrapperProps { chartType: GoogleChartWrapperChartType; containerId?: string; options?: { width?: number; height?: number; is3D?: boolean; title?: string; backgroundColor: string; }; dataTable?: {}; dataSourceUrl?: string; query?: string; refreshInterval?: number; view?: any[] | {}; render?: (props: ChartWrapperProps, chartWrapper: GoogleChartWrapper) => any; children?: (props: ChartWrapperProps, chartWrapper: GoogleChartWrapper) => any; } export declare type GoogleChartWrapperChartType = 'AnnotationChart' | 'AreaChart' | 'BarChart' | 'BubbleChart' | 'Calendar' | 'CandlestickChart' | 'ColumnChart' | 'ComboChart' | 'DiffChart' | 'DonutChart' | 'Gantt' | 'Gauge' | 'GeoChart' | 'Histogram' | 'LineChart' | 'Line' | 'Bar' | 'Map' | 'OrgChart' | 'PieChart' | 'Sankey' | 'ScatterChart' | 'Scatter' | 'SteppedAreaChart' | 'Table' | 'Timeline' | 'TreeMap' | 'WaterfallChart' | 'WordTree'; export declare type GoogleChartAction = { id: string; text: string; action: (chartWrapper: GoogleChartWrapper) => void; }; export declare type GoogleDataTableColumn = { type: GoogleDataTableColumnType; label?: string; role?: GoogleDataTableColumnRoleType; pattern?: string; p?: {}; id?: string; } | string; export declare type GoogleDataTableColumnType = 'string' | 'number' | 'boolean' | 'date' | 'datetime' | 'timeofday'; export declare enum GoogleDataTableColumnRoleType { annotation = "annotation", annotationText = "annotationText", certainty = "certainty", emphasis = "emphasis", interval = "interval", scope = "scope", style = "style", tooltip = "tooltip", domain = "domain" } export declare type GoogleDataTableRow = GoogleDataTableCell[]; export declare type GoogleDataTableCell = { v?: any; f?: string; p?: {}; } | string | number | boolean | Date; export declare type GoogleDataTableRowFilter = { column: number; value: any; minValue?: any; maxValue?: any; }; export declare type GoogleDataTableSortColumns = number | { column: number; desc: boolean; } | number[] | { column: number; desc: boolean; }[]; export declare type GoogleChartControl = { getContainerId: () => string; getOptions: () => GoogleChartControlOptions; getState: () => any; setState: (state: any) => void; setOptions: (options: GoogleChartControlOptions) => void; setControlType: (controlType: string) => void; }; export declare type GoogleChartControlOptions = any; export declare type GoogleVizEventName = 'ready' | 'error' | 'select' | 'animationfinish' | 'statechange' | 'ok' | 'cancel' | 'animationstart'; export declare type GoogleChartToolbarItem = { type: 'igoogle' | 'html' | 'csv' | 'htmlcode'; datasource: string; gadget?: string; userPrefs?: { '3d': number; [otherKeyMaybe: string]: any; }; }; export declare type GoogleChartPackages = 'corechart' | 'charteditor' | 'controls' | 'calendar' | 'gantt' | 'gauge' | 'geochart' | 'map' | 'orgchart' | 'sankey' | 'table' | 'timeline' | 'treemap' | 'wordtree'; export declare type GoogleChartTicks = (number | Date)[]; export declare type GoogleChartOptions = { width?: number; height?: number; is3D?: boolean; backgroundColor?: string; title?: string; hAxis?: { minValue?: any; maxValue?: any; ticks?: GoogleChartTicks; title?: string; viewWindow?: { max?: any; min?: any; [otherOptionKey: string]: any; }; [otherOptionKey: string]: any; }; vAxis?: { minValue?: any; maxValue?: any; ticks?: GoogleChartTicks; title?: string; viewWindow?: { max?: any; min?: any; [otherOptionKey: string]: any; }; [otherOptionKey: string]: any; }; bubble?: {}; pieHole?: number; redFrom?: number; redTo?: number; yellowFrom?: number; yellowTo?: number; minorTicks?: number; legend?: string | { position?: string; maxLines?: number; [otherOptionKey: string]: any; }; curveType?: string; showTooltip?: boolean; showInfoWindow?: boolean; allowHtml?: boolean; isStacked?: string | boolean; minColor?: string; midColor?: string; maxColor?: string; headerHeight?: number; fontColor?: string; showScale?: boolean; bar?: { groupWidth?: string; }; candlestick?: { fallingColor?: { strokeWidth?: number; fill?: string; }; risingColor?: { strokeWidth?: number; fill?: string; }; [otherOptionKey: string]: any; }; wordtree?: { format?: string; word?: string; [otherOptionKey: string]: any; }; [otherOptionKey: string]: any; }; export declare type GoogleDataView = { new (dataParam: any): GoogleDataView; getColumnId(columnIndex: number): String; getColumnLabel(columnIndex: number): string; getColumnPattern(columnIndex: number): string; getColumnProperty(columnIndex: number, name: string): any; getColumnRange(columnIndex: number): { min: any; max: any; }; getColumnType(columnIndex: number): string; getDistinctValues(columnIndex: number): any[]; getFilteredRows(filters: DataTableCellFilter[]): number[]; getFormattedValue(rowIndex: number, columnIndex: number): string; getNumberOfColumns(): number; getNumberOfRows(): number; getProperty(rowIndex: number, columnIndex: number, name: string): any; getProperties(rowIndex: number, columnIndex: number): Properties; getRowProperty(rowIndex: number, name: string): any; getSortedRows(sortColumn: number): number[]; getSortedRows(sortColumn: SortByColumn): number[]; getSortedRows(sortColumns: number[]): number[]; getSortedRows(sortColumns: SortByColumn[]): number[]; getTableProperty(name: string): any; getValue(rowIndex: number, columnIndex: number): any; getTableColumnIndex(viewColumnIndex: number): number; getTableRowIndex(viewRowIndex: number): number; getViewColumnIndex(tableColumnIndex: number): number; getViewColumns(): number[]; getViewColumns(): ColumnSpec[]; getViewRowIndex(tableRowIndex: number): number; getViewRows(): number[]; hideColumns(columnIndexes: number[]): void; hideRows(min: number, max: number): void; hideRows(rowIndexes: number[]): void; setColumns(columnIndexes: number[]): void; setColumns(columnIndexes: ColumnSpec[]): void; setColumns(columnIndexes: any[]): void; setRows(min: number, max: number): void; setRows(rowIndexes: number[]): void; toDataTable(): GoogleDataTable; toJSON(): string; }; export interface DataTableCellFilter { column: number; value?: any; minValue?: any; maxValue?: any; test?: ((value: any, row?: number, column?: number, data?: GoogleDataTable | GoogleDataView) => boolean) | undefined; } export interface Properties { [property: string]: any; } export interface SortByColumn { column: number; desc: boolean; } export interface ColumnSpec { calc?: ((data: GoogleDataTable, row: number) => any) | undefined; type?: string | undefined; label?: string | undefined; id?: string | undefined; sourceColumn?: number | undefined; properties?: Properties | undefined; role?: string | undefined; } //# sourceMappingURL=types.d.ts.map