## API Report File for "@itwin/ec3-widget-react"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

/// <reference types="react" />

import type { AccessToken } from '@itwin/core-bentley';
import type { EC3JobStatus } from '@itwin/insights-client';
import type { EC3ReportConfigurationLabel } from '@itwin/insights-client';
import type { IEC3ConfigurationsClient } from '@itwin/insights-client';
import type { IEC3JobsClient } from '@itwin/insights-client';
import type { IOdataClient } from '@itwin/insights-client';
import type { IReportsClient } from '@itwin/insights-client';
import type { Localization } from '@itwin/core-common';
import { default as React_2 } from 'react';
import type { Report } from '@itwin/insights-client';
import { StagePanelLocation } from '@itwin/appui-react';
import { StagePanelSection } from '@itwin/appui-react';
import type { TranslationOptions } from '@itwin/core-common';
import type { UiItemsProvider } from '@itwin/appui-react';
import type { Widget } from '@itwin/appui-react';

// @public
export interface Configuration {
    // (undocumented)
    description: string;
    // (undocumented)
    displayName: string;
    // (undocumented)
    id?: string;
    // (undocumented)
    labels: EC3ReportConfigurationLabel[];
    // (undocumented)
    reportId?: string;
}

// @beta
export interface EC3ConfigCommonProps {
    carbonCalculationBasePath?: string;
    clientId: string;
    ec3ConfigurationsClient?: IEC3ConfigurationsClient;
    ec3JobsClient?: IEC3JobsClient;
    ec3Uri?: string;
    getAccessToken?: GetAccessTokenFn;
    // (undocumented)
    iTwinId: string;
    oDataClient?: IOdataClient;
    reportingBasePath?: string;
    reportsClient?: IReportsClient;
}

// @beta
export type EC3ConfigProps = EC3ConfigPropsWithRedirectUri | EC3ConfigPropsWithGetEC3AccessToken | EC3ConfigPropsWithDefaultReport | EC3ConfigPropsWithCallbacks;

// @beta
export type EC3ConfigPropsWithGetEC3AccessToken = EC3ConfigCommonProps & {
    getEC3AccessToken: GetAccessTokenFn;
};

// @beta
export type EC3ConfigPropsWithRedirectUri = EC3ConfigCommonProps & {
    redirectUri: string;
};

// @beta
export const EC3Context: (props: EC3ContextProps) => JSX.Element;

// @beta
export type EC3ContextProps = EC3ConfigProps & {
    children?: React_2.ReactNode;
};

// @beta
export class EC3Provider implements UiItemsProvider {
    constructor(_props: EC3WidgetProps);
    // (undocumented)
    readonly id = "EC3Provider";
    // (undocumented)
    provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection): ReadonlyArray<Widget>;
}

// @public
export interface EC3Token {
    // (undocumented)
    exp: number;
    // (undocumented)
    source: string;
    // (undocumented)
    token: string;
}

// @public
export class EC3Widget {
    static initialize(config?: EC3WidgetConfig): Promise<void>;
    // (undocumented)
    static localization: Localization;
    static get localizationNamespace(): string;
    static terminate(): void;
    // (undocumented)
    static translate(key: string, options?: TranslationOptions): string;
}

// @public
export type GetAccessTokenFn = () => Promise<AccessToken>;

// @beta
export function handleEC3AuthCallback(ec3Config: EC3AuthCallbackConfigProps, source?: string): void;

// @beta
export const TemplateMenu: (props: TemplateMenuProps) => JSX.Element;

// @beta
export interface TemplateMenuProps {
    // (undocumented)
    onClickCancel: () => void;
    // (undocumented)
    onSaveSuccess: () => void;
    // (undocumented)
    template?: Configuration;
}

// @public
export type TemplateProps = Omit<EC3ConfigPropsWithCallbacks, "iTwinId" | "clientId"> & {
    onClickCreate?: () => void;
    onClickTemplateTitle?: (template: Configuration) => void;
};

// @beta
export const Templates: ({ onClickCreate, onClickTemplateTitle, onExportResult }: TemplateProps) => JSX.Element;


export * from "@itwin/insights-client";

// (No @packageDocumentation comment for this package)

```
