/**
 * Generated by tsnapi — public API snapshot of `@devframes/plugin-data-inspector/client`
 */
// #region Interfaces
export interface DataSourceMeta {
  id: string;
  title: string;
  description?: string;
  icon?: string;
  static: boolean;
  writable: boolean;
  queries?: Query[];
}
export interface FilterOptions {
  excludeFunctions?: boolean;
  excludeUnderscoreProps?: boolean;
  excludeDollarProps?: boolean;
}
export interface Query extends FilterOptions {
  query: string;
  title?: string;
  description?: string;
}
export interface QueryStats {
  queryMs: number;
  normalize: NormalizeStatsWire;
  payloadBytes: number;
}
export interface SavedQuery extends Query {
  id: string;
  scope: SavedQueryScope;
  updatedAt: number;
}
export interface SaveQueryInput extends Query {
  id?: string;
  scope: SavedQueryScope;
}
export interface SuggestItem {
  type: string;
  from: number;
  to: number;
  current: string;
  value: string;
}
export interface SuggestOutcome {
  ok: boolean;
  suggestions: SuggestItem[];
  statMs: number;
  error?: string;
}
// #endregion

// #region Types
export type QueryOutcome = {
  ok: true;
  result: unknown;
  stats: QueryStats;
} | {
  ok: false;
  error: {
    name: string;
    message: string;
  };
};
export type SavedQueryScope = 'workspace' | 'project';
export type SkeletonOutcome = {
  ok: true;
  skeleton: unknown;
  nodes: number;
  ms: number;
} | {
  ok: false;
  error: {
    name: string;
    message: string;
  };
};
// #endregion

// #region Functions
export declare function connectDataInspector(_?: DevframeRpcClientOptions): Promise<DevframeRpcClient>;
// #endregion

// #region Other
export { DevframeConnectionStatus }
export { DevframeRpcClient }
// #endregion