/**
 * Side-effect plugin registration + browser bootstrap for @grafana/vue.
 */
export declare function registerBuiltinPlugins(): void;
export declare function registerHeavyPlugins(): Promise<void> | void;
export declare function isBuiltinPluginsRegistered(): boolean;
export declare function isHeavyPluginsRegistered(): boolean;
// ----- Bootstrap (also exported at ./register) -----
export type BackendBootSelection =
  | { mode: 'offline' }
  | { mode: 'live'; baseUrl: string; requireAuth: boolean };
export type BootstrapGrafanaVueOptions = {
  datasources?: ObservabilityDataSourceInput[];
  env?: Record<string, string | undefined>;
  windowInjection?: ObservabilityDataSourceInput[] | null;
};
export declare function bootstrapGrafanaVue(options?: BootstrapGrafanaVueOptions): void;
// ----- Observability datasource helpers (from ./observabilityDataSources) -----
export type ObservabilityCredentialMode =
  | 'token' | 'bearer' | 'apiKey' | 'basic' | 'proxy' | 'none';
export type ObservabilityDataSourceInput = {
  uid: string;
  name: string;
  type: string;
  url?: string;
  default?: boolean;
  isDefault?: boolean;
  profile?: string;
  jsonData?: Record<string, unknown>;
  token?: string;
  refreshToken?: string;
  password?: string;
  username?: string;
  email?: string;
  orgID?: string;
  credentialMode?: ObservabilityCredentialMode;
  apiKeyHeader?: string;
};
export type ResolvedObservabilityDataSources = {
  settings: import('@grafana/vue-runtime').DataSourceInstanceSettings[];
  credentials: Array<{ uid: string; credential: import('@grafana/vue-runtime').RuntimeCredential }>;
};
export type ResolveObservabilityOptions = {
  windowInjection?: ObservabilityDataSourceInput[] | null;
  env?: Record<string, string | undefined>;
  defaults?: ObservabilityDataSourceInput[];
  datasources?: ObservabilityDataSourceInput[];
};
export declare function defaultObservabilityDataSources(
  env?: Record<string, string | undefined>,
): ObservabilityDataSourceInput[];
export declare function mergeObservabilityDataSourceInput(
  prev: ObservabilityDataSourceInput | undefined,
  next: ObservabilityDataSourceInput,
): ObservabilityDataSourceInput;
export declare function mergeObservabilityDataSourceInputsByUid(
  ...layers: Array<ObservabilityDataSourceInput[] | undefined | null>
): ObservabilityDataSourceInput[];
export declare function resolveObservabilityDataSources(
  opts?: ResolveObservabilityOptions,
): ResolvedObservabilityDataSources;
export declare function bootstrapObservabilityDataSources(
  resolved?: ResolvedObservabilityDataSources,
): ResolvedObservabilityDataSources;
