## API Report File for "@backstage/plugin-cost-insights"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
/// <reference types="react" />

import { ApiRef } from '@backstage/core-plugin-api';
import { BackstagePalette } from '@backstage/theme';
import { BackstagePlugin } from '@backstage/core-plugin-api';
import { BackstageTheme } from '@backstage/theme';
import { ContentRenderer } from 'recharts';
import { Dispatch } from 'react';
import { ForwardRefExoticComponent } from 'react';
import { PaletteOptions } from '@material-ui/core/styles/createPalette';
import { PropsWithChildren } from 'react';
import { ReactNode } from 'react';
import { RechartsFunction } from 'recharts';
import { RefAttributes } from 'react';
import { RouteRef } from '@backstage/core-plugin-api';
import { SetStateAction } from 'react';
import { TooltipProps } from 'recharts';
import { TypographyProps } from '@material-ui/core';

// Warning: (ae-missing-release-tag) "Alert" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type Alert = {
  title: string | JSX.Element;
  subtitle: string | JSX.Element;
  element?: JSX.Element;
  status?: AlertStatus;
  url?: string;
  buttonText?: string;
  SnoozeForm?: Maybe<AlertForm>;
  AcceptForm?: Maybe<AlertForm>;
  DismissForm?: Maybe<AlertForm>;
  onSnoozed?(options: AlertOptions): Promise<Alert[]>;
  onAccepted?(options: AlertOptions): Promise<Alert[]>;
  onDismissed?(options: AlertOptions): Promise<Alert[]>;
};

// Warning: (ae-missing-release-tag) "AlertCost" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AlertCost {
  // (undocumented)
  aggregation: [number, number];
  // (undocumented)
  id: string;
}

// Warning: (ae-missing-release-tag) "AlertDismissFormData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AlertDismissFormData {
  // (undocumented)
  feedback: Maybe<string>;
  // (undocumented)
  other: Maybe<string>;
  // (undocumented)
  reason: AlertDismissReason;
}

// Warning: (ae-missing-release-tag) "AlertDismissOption" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AlertDismissOption {
  // (undocumented)
  label: string;
  // (undocumented)
  reason: string;
}

// Warning: (ae-missing-release-tag) "AlertDismissOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const AlertDismissOptions: AlertDismissOption[];

// Warning: (ae-missing-release-tag) "AlertDismissReason" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum AlertDismissReason {
  // (undocumented)
  Expected = 'expected',
  // (undocumented)
  Migration = 'migration',
  // (undocumented)
  NotApplicable = 'not-applicable',
  // (undocumented)
  Other = 'other',
  // (undocumented)
  Resolved = 'resolved',
  // (undocumented)
  Seasonal = 'seasonal',
}

// Warning: (ae-missing-release-tag) "AlertForm" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type AlertForm<
  A extends Alert = any,
  Data = any,
> = ForwardRefExoticComponent<
  AlertFormProps<A, Data> & RefAttributes<HTMLFormElement>
>;

// Warning: (ae-missing-release-tag) "AlertFormProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type AlertFormProps<A extends Alert, FormData = {}> = {
  alert: A;
  onSubmit: (data: FormData) => void;
  disableSubmit: (isDisabled: boolean) => void;
};

// Warning: (ae-missing-release-tag) "AlertOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface AlertOptions<T = any> {
  // (undocumented)
  data: T;
  // (undocumented)
  group: string;
}

// Warning: (ae-missing-release-tag) "AlertSnoozeFormData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface AlertSnoozeFormData {
  // (undocumented)
  intervals: string;
}

// Warning: (ae-missing-release-tag) "AlertSnoozeOption" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type AlertSnoozeOption = {
  label: string;
  duration: Duration;
};

// Warning: (ae-missing-release-tag) "AlertSnoozeOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const AlertSnoozeOptions: AlertSnoozeOption[];

// Warning: (ae-missing-release-tag) "AlertStatus" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum AlertStatus {
  // (undocumented)
  Accepted = 'accepted',
  // (undocumented)
  Dismissed = 'dismissed',
  // (undocumented)
  Snoozed = 'snoozed',
}

// Warning: (ae-missing-release-tag) "BarChart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const BarChart: ({
  resources,
  responsive,
  displayAmount,
  options,
  tooltip,
  onClick,
  onMouseMove,
}: BarChartProps) => JSX.Element;

// Warning: (ae-missing-release-tag) "BarChartData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface BarChartData extends BarChartOptions {}

// Warning: (ae-missing-release-tag) "BarChartLegend" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const BarChartLegend: ({
  costStart,
  costEnd,
  options,
  children,
}: PropsWithChildren<BarChartLegendProps>) => JSX.Element;

// Warning: (ae-missing-release-tag) "BarChartLegendOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BarChartLegendOptions = {
  previousName: string;
  previousFill: string;
  currentName: string;
  currentFill: string;
  hideMarker?: boolean;
};

// Warning: (ae-missing-release-tag) "BarChartLegendProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BarChartLegendProps = {
  costStart: number;
  costEnd: number;
  options?: Partial<BarChartLegendOptions>;
};

// Warning: (ae-missing-release-tag) "BarChartOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface BarChartOptions {
  // (undocumented)
  currentFill: string;
  // (undocumented)
  currentName: string;
  // (undocumented)
  previousFill: string;
  // (undocumented)
  previousName: string;
}

// Warning: (ae-missing-release-tag) "BarChartProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BarChartProps = {
  resources: ResourceData[];
  responsive?: boolean;
  displayAmount?: number;
  options?: Partial<BarChartData>;
  tooltip?: ContentRenderer<TooltipProps>;
  onClick?: RechartsFunction;
  onMouseMove?: RechartsFunction;
};

// Warning: (ae-missing-release-tag) "BarChartTooltip" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const BarChartTooltip: ({
  title,
  content,
  subtitle,
  topRight,
  actions,
  children,
}: PropsWithChildren<BarChartTooltipProps>) => JSX.Element;

// Warning: (ae-missing-release-tag) "BarChartTooltipItem" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const BarChartTooltipItem: ({
  item,
}: BarChartTooltipItemProps) => JSX.Element;

// Warning: (ae-missing-release-tag) "BarChartTooltipItemProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BarChartTooltipItemProps = {
  item: TooltipItem;
};

// Warning: (ae-missing-release-tag) "BarChartTooltipProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type BarChartTooltipProps = {
  title: string;
  content?: ReactNode | string;
  subtitle?: ReactNode;
  topRight?: ReactNode;
  actions?: ReactNode;
};

// Warning: (ae-missing-release-tag) "ChangeStatistic" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ChangeStatistic {
  // (undocumented)
  amount: number;
  // (undocumented)
  ratio?: number;
}

// Warning: (ae-missing-release-tag) "ChangeThreshold" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ChangeThreshold {
  // (undocumented)
  lower = -0.05,
  // (undocumented)
  upper = 0.05,
}

// Warning: (ae-missing-release-tag) "ChartData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ChartData = {
  date: number;
  trend: number;
  dailyCost: number;
  [key: string]: number;
};

// Warning: (ae-missing-release-tag) "Cost" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Cost {
  // (undocumented)
  aggregation: DateAggregation[];
  // (undocumented)
  change?: ChangeStatistic;
  // (undocumented)
  groupedCosts?: Record<string, Cost[]>;
  // (undocumented)
  id: string;
  // (undocumented)
  trendline?: Trendline;
}

// Warning: (ae-missing-release-tag) "CostGrowth" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const CostGrowth: ({ change, duration }: CostGrowthProps) => JSX.Element;

// Warning: (ae-missing-release-tag) "CostGrowthIndicator" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const CostGrowthIndicator: ({
  change,
  formatter,
  className,
  ...props
}: CostGrowthIndicatorProps) => JSX.Element;

// Warning: (ae-missing-release-tag) "CostGrowthIndicatorProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type CostGrowthIndicatorProps = TypographyProps & {
  change: ChangeStatistic;
  formatter?: (change: ChangeStatistic) => Maybe<string>;
};

// Warning: (ae-missing-release-tag) "CostGrowthProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type CostGrowthProps = {
  change: ChangeStatistic;
  duration: Duration;
};

// Warning: (ae-missing-release-tag) "CostInsightsApi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type CostInsightsApi = {
  getLastCompleteBillingDate(): Promise<string>;
  getUserGroups(userId: string): Promise<Group[]>;
  getGroupProjects(group: string): Promise<Project[]>;
  getGroupDailyCost(group: string, intervals: string): Promise<Cost>;
  getProjectDailyCost(project: string, intervals: string): Promise<Cost>;
  getDailyMetricData(metric: string, intervals: string): Promise<MetricData>;
  getProductInsights(options: ProductInsightsOptions): Promise<Entity>;
  getAlerts(group: string): Promise<Alert[]>;
};

// Warning: (ae-missing-release-tag) "costInsightsApiRef" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const costInsightsApiRef: ApiRef<CostInsightsApi>;

// Warning: (ae-missing-release-tag) "CostInsightsLabelDataflowInstructionsPage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const CostInsightsLabelDataflowInstructionsPage: () => JSX.Element;

// Warning: (ae-missing-release-tag) "CostInsightsPage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const CostInsightsPage: () => JSX.Element;

// Warning: (ae-forgotten-export) The symbol "CostInsightsPaletteAdditions" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "CostInsightsPalette" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type CostInsightsPalette = BackstagePalette &
  CostInsightsPaletteAdditions;

// Warning: (ae-missing-release-tag) "CostInsightsPaletteOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type CostInsightsPaletteOptions = PaletteOptions &
  CostInsightsPaletteAdditions;

// Warning: (ae-missing-release-tag) "costInsightsPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
const costInsightsPlugin: BackstagePlugin<
  {
    root: RouteRef<undefined>;
    growthAlerts: RouteRef<undefined>;
    unlabeledDataflowAlerts: RouteRef<undefined>;
  },
  {}
>;
export { costInsightsPlugin };
export { costInsightsPlugin as plugin };

// Warning: (ae-missing-release-tag) "CostInsightsProjectGrowthInstructionsPage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const CostInsightsProjectGrowthInstructionsPage: () => JSX.Element;

// Warning: (ae-missing-release-tag) "CostInsightsTheme" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CostInsightsTheme extends BackstageTheme {
  // (undocumented)
  palette: CostInsightsPalette;
}

// Warning: (ae-missing-release-tag) "CostInsightsThemeOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface CostInsightsThemeOptions extends PaletteOptions {
  // (undocumented)
  palette: CostInsightsPaletteOptions;
}

// Warning: (ae-missing-release-tag) "Currency" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Currency {
  // (undocumented)
  kind: string | null;
  // (undocumented)
  label: string;
  // (undocumented)
  prefix?: string;
  // (undocumented)
  rate?: number;
  // (undocumented)
  unit: string;
}

// Warning: (ae-missing-release-tag) "CurrencyType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum CurrencyType {
  // (undocumented)
  Beers = 'BEERS',
  // (undocumented)
  CarbonOffsetTons = 'CARBON_OFFSET_TONS',
  // (undocumented)
  IceCream = 'PINTS_OF_ICE_CREAM',
  // (undocumented)
  USD = 'USD',
}

// Warning: (ae-missing-release-tag) "DataKey" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum DataKey {
  // (undocumented)
  Current = 'current',
  // (undocumented)
  Name = 'name',
  // (undocumented)
  Previous = 'previous',
}

// Warning: (ae-missing-release-tag) "DateAggregation" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type DateAggregation = {
  date: string;
  amount: number;
};

// Warning: (ae-missing-release-tag) "DEFAULT_DATE_FORMAT" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const DEFAULT_DATE_FORMAT = 'yyyy-LL-dd';

// Warning: (ae-missing-release-tag) "Duration" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum Duration {
  // (undocumented)
  P30D = 'P30D',
  // (undocumented)
  P3M = 'P3M',
  // (undocumented)
  P7D = 'P7D',
  // (undocumented)
  P90D = 'P90D',
}

// Warning: (ae-missing-release-tag) "EngineerThreshold" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const EngineerThreshold = 0.5;

// Warning: (ae-missing-release-tag) "Entity" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Entity {
  // (undocumented)
  aggregation: [number, number];
  // (undocumented)
  change: ChangeStatistic;
  // (undocumented)
  entities: Record<string, Entity[]>;
  // (undocumented)
  id: Maybe<string>;
}

// Warning: (ae-missing-release-tag) "ExampleCostInsightsClient" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class ExampleCostInsightsClient implements CostInsightsApi {
  // (undocumented)
  getAlerts(group: string): Promise<Alert[]>;
  // (undocumented)
  getDailyMetricData(metric: string, intervals: string): Promise<MetricData>;
  // (undocumented)
  getGroupDailyCost(group: string, intervals: string): Promise<Cost>;
  // (undocumented)
  getGroupProjects(group: string): Promise<Project[]>;
  // (undocumented)
  getLastCompleteBillingDate(): Promise<string>;
  // (undocumented)
  getProductInsights(options: ProductInsightsOptions): Promise<Entity>;
  // (undocumented)
  getProjectDailyCost(project: string, intervals: string): Promise<Cost>;
  // (undocumented)
  getUserGroups(userId: string): Promise<Group[]>;
}

// Warning: (ae-missing-release-tag) "Group" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Group = {
  id: string;
};

// Warning: (ae-missing-release-tag) "GrowthType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum GrowthType {
  // (undocumented)
  Excess = 2,
  // (undocumented)
  Negligible = 0,
  // (undocumented)
  Savings = 1,
}

// Warning: (ae-missing-release-tag) "Icon" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Icon = {
  kind: string;
  component: JSX.Element;
};

// Warning: (ae-missing-release-tag) "IconType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum IconType {
  // (undocumented)
  Compute = 'compute',
  // (undocumented)
  Data = 'data',
  // (undocumented)
  Database = 'database',
  // (undocumented)
  ML = 'ml',
  // (undocumented)
  Search = 'search',
  // (undocumented)
  Storage = 'storage',
}

// Warning: (ae-missing-release-tag) "LegendItem" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const LegendItem: ({
  title,
  tooltipText,
  markerColor,
  children,
}: PropsWithChildren<LegendItemProps>) => JSX.Element;

// Warning: (ae-missing-release-tag) "LegendItemProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type LegendItemProps = {
  title: string;
  tooltipText?: string;
  markerColor?: string;
};

// Warning: (ae-missing-release-tag) "Loading" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Loading = Record<string, boolean>;

// Warning: (ae-missing-release-tag) "Maybe" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Maybe<T> = T | null;

// Warning: (ae-missing-release-tag) "Metric" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Metric = {
  kind: string;
  name: string;
  default: boolean;
};

// Warning: (ae-missing-release-tag) "MetricData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface MetricData {
  // (undocumented)
  aggregation: DateAggregation[];
  // (undocumented)
  change: ChangeStatistic;
  // (undocumented)
  format: 'number' | 'currency';
  // (undocumented)
  id: string;
}

// Warning: (ae-forgotten-export) The symbol "MockConfigProviderProps" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "MockConfigProvider" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const MockConfigProvider: ({
  children,
  ...context
}: MockConfigProviderProps) => JSX.Element;

// Warning: (ae-forgotten-export) The symbol "MockCurrencyProviderProps" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "MockCurrencyProvider" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const MockCurrencyProvider: ({
  children,
  ...context
}: MockCurrencyProviderProps) => JSX.Element;

// Warning: (ae-missing-release-tag) "PageFilters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface PageFilters {
  // (undocumented)
  duration: Duration;
  // (undocumented)
  group: Maybe<string>;
  // (undocumented)
  metric: string | null;
  // (undocumented)
  project: Maybe<string>;
}

// Warning: (ae-missing-release-tag) "Product" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Product {
  // (undocumented)
  kind: string;
  // (undocumented)
  name: string;
}

// Warning: (ae-missing-release-tag) "ProductFilters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ProductFilters = Array<ProductPeriod>;

// Warning: (ae-missing-release-tag) "ProductInsightsOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ProductInsightsOptions = {
  product: string;
  group: string;
  intervals: string;
  project: Maybe<string>;
};

// Warning: (ae-missing-release-tag) "ProductPeriod" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ProductPeriod {
  // (undocumented)
  duration: Duration;
  // (undocumented)
  productType: string;
}

// Warning: (ae-missing-release-tag) "Project" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface Project {
  // (undocumented)
  id: string;
  // (undocumented)
  name?: string;
}

// Warning: (ae-missing-release-tag) "ProjectGrowthAlert" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class ProjectGrowthAlert implements Alert {
  constructor(data: ProjectGrowthData);
  // (undocumented)
  data: ProjectGrowthData;
  // (undocumented)
  get element(): JSX.Element;
  // (undocumented)
  get subtitle(): string;
  // (undocumented)
  get title(): string;
  // (undocumented)
  get url(): string;
}

// Warning: (ae-missing-release-tag) "ProjectGrowthData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ProjectGrowthData {
  // (undocumented)
  aggregation: [number, number];
  // (undocumented)
  change: ChangeStatistic;
  // (undocumented)
  periodEnd: string;
  // (undocumented)
  periodStart: string;
  // (undocumented)
  products: Array<AlertCost>;
  // (undocumented)
  project: string;
}

// Warning: (ae-missing-release-tag) "ResourceData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ResourceData {
  // (undocumented)
  current: number;
  // (undocumented)
  name: Maybe<string>;
  // (undocumented)
  previous: number;
}

// Warning: (ae-missing-release-tag) "TooltipItem" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type TooltipItem = {
  fill: string;
  label: string;
  value: string;
};

// Warning: (ae-missing-release-tag) "Trendline" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type Trendline = {
  slope: number;
  intercept: number;
};

// Warning: (ae-missing-release-tag) "UnlabeledDataflowAlert" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class UnlabeledDataflowAlert implements Alert {
  constructor(data: UnlabeledDataflowData);
  // (undocumented)
  data: UnlabeledDataflowData;
  // (undocumented)
  get element(): JSX.Element;
  // (undocumented)
  status?: AlertStatus;
  // (undocumented)
  get subtitle(): string;
  // (undocumented)
  get title(): string;
  // (undocumented)
  get url(): string;
}

// Warning: (ae-missing-release-tag) "UnlabeledDataflowAlertProject" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface UnlabeledDataflowAlertProject {
  // (undocumented)
  id: string;
  // (undocumented)
  labeledCost: number;
  // (undocumented)
  unlabeledCost: number;
}

// Warning: (ae-missing-release-tag) "UnlabeledDataflowData" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface UnlabeledDataflowData {
  // (undocumented)
  labeledCost: number;
  // (undocumented)
  periodEnd: string;
  // (undocumented)
  periodStart: string;
  // (undocumented)
  projects: Array<UnlabeledDataflowAlertProject>;
  // (undocumented)
  unlabeledCost: number;
}

// Warnings were encountered during analysis:
//
// src/api/CostInsightsApi.d.ts:34:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/api/CostInsightsApi.d.ts:42:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/api/CostInsightsApi.d.ts:56:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/api/CostInsightsApi.d.ts:57:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/api/CostInsightsApi.d.ts:73:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/api/CostInsightsApi.d.ts:74:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/api/CostInsightsApi.d.ts:83:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/api/CostInsightsApi.d.ts:84:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// src/api/CostInsightsApi.d.ts:100:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
```
