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: () => any | string[] | string, 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: () => any | object, callback?: Callback): Promise; exec(options: () => any | object, callback?: Callback): Promise; execute(options: () => any | object, callback?: Callback): Promise; executeAsync(options: () => any | object, 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; }