import { Callback } from '../connection'; import { ExplainInfo } from '../query'; export class Dashboard { describe(callback?: Callback): Promise; del(callback?: Callback): Promise; destory(callback?: Callback): Promise; delete(callback?: Callback): Promise; components(componentIds: string[] | string | Callback, callback?: Callback): Promise; status(callback?: Callback): Promise; refresh(callback?: Callback): Promise; clone(name: string | object, folderid: string, callback?: Callback): Promise; } export class ReportInstance { constructor(report: Report, id: string); retrieve(callback: Callback): Promise; } export class Report { describe(callback?: Callback): Promise; del(callback?: Callback): Promise; destory(callback?: Callback): Promise; delete(callback?: Callback): Promise; clone(name: string, callback?: Callback): Promise; explain(callback?: Callback): Promise; run(options: object | Callback, callback?: Callback): Promise; exec(options: object | Callback, callback?: Callback): Promise; execute(options: object | Callback, callback?: Callback): Promise; executeAsync(options: object | Callback, callback?: Callback): Promise; instance(id: string): ReportInstance; instances(callback?: Callback): Promise; } export interface ReportInstanceAttrs {} export interface ReportMetadata {} export interface ReportResult {} export interface ReportInfo {} export interface DashboardInfo {} export class Analytics { report(id: string): Promise; reports(callback?: Callback): Promise; dashboard(id: string): Promise; dashboards(callback?: Callback): Promise; }