import * as i0 from '@angular/core';
import { SimpleChange, ElementRef, AfterViewInit, OnChanges } from '@angular/core';
import * as d3$1 from 'd3';
import * as rxjs from 'rxjs';
import * as i14 from '@angular/common';

interface IBarChartDataNode {
    title: string;
    value: number;
}
type TBarChartData = IBarChartDataNode[];
interface IBarChartOptions {
    chartTitle: string;
    width: number;
    height: number;
    margin: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    transitionDuration: number;
    xAxisPadding: number;
    xAxisTitle: string;
    yAxisTitle: string;
    yAxisTicks: number;
    displayAxisLabels: boolean;
    labelTextWrapWidth: number;
    color: d3$1.ScaleOrdinal<string, string>;
}

/** Chart component input changes. */
interface IChartInputChanges {
    data?: SimpleChange | null;
    options?: SimpleChange | null;
}

/** D3 chart base class. */
declare abstract class AppD3ChartBase<T, O> {
    /** A chart id. */
    abstract chartId: string;
    /** A chart data. */
    abstract data: T;
    /** A chart options. */
    abstract options: O;
    /** D3 chart view child reference. */
    abstract readonly container?: ElementRef<HTMLDivElement>;
    /** The chart options constructor. */
    protected abstract chartOptions(): O;
    /** Draws the chart. */
    protected abstract drawChart(): void;
}

type TBarData = TBarChartData;
type TBarOptions = Partial<IBarChartOptions>;
/** The bar chart component. */
declare class AppBarChartComponent extends AppD3ChartBase<TBarData, TBarOptions> implements AfterViewInit, OnChanges {
    private readonly doc;
    private readonly factory;
    /** The chart id. */
    chartId: string;
    /** The chart data. */
    data: TBarData;
    /** The chart options. */
    options: TBarOptions;
    /** D3 chart view child reference. */
    readonly container?: ElementRef<HTMLDivElement>;
    constructor();
    /** The chart options constructor. */
    protected chartOptions(): TBarOptions;
    /** Draws the chart. */
    protected drawChart(): void;
    /** Actually draws the chart after the component view is initialized. */
    ngAfterViewInit(): void;
    /** Redraws the chart on changes. */
    ngOnChanges(changes: IChartInputChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppBarChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppBarChartComponent, "app-bar-chart", never, { "chartId": { "alias": "chartId"; "required": false; }; "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, false, never>;
}

declare class AppChartExamplesComponent {
    static ɵfac: i0.ɵɵFactoryDeclaration<AppChartExamplesComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppChartExamplesComponent, "app-chart-examples", never, {}, {}, never, never, false, never>;
}

/** Force directed chart graph domain. */
interface IForceDirectedGraphDomain {
    /** The index of the domain. */
    index: number;
    /** The name of the domain. */
    name: string;
    /** The value/weight of the domain. */
    value: number;
}
/** Force directed chart graph entity. */
interface IForceDirectedGraphEntity {
    /** The index of the entity. */
    index: number;
    /** The name of the entity. */
    name: string;
    /** Domains the entity belongs to. */
    domains: string[];
    /** The image of the entity. */
    img: string;
    /** The counter of links to other entities. */
    linksCount: number;
}
/** Force directed chart data node. */
interface IForceDirectedChartDataNode extends d3$1.SimulationNodeDatum {
    /** The index of the data node. */
    index: number;
    /** Domains the data node belongs to. */
    domains?: string[];
    /** The value/weight of the node. */
    value?: number;
    /** The name of the node. */
    name?: string;
    /** The image of the node. */
    img?: string;
    /** The counter of links to other entities. */
    linksCount?: number;
}
/** Force directed chart data. */
interface IForceDirectedChartData {
    domains: IForceDirectedGraphDomain[];
    entities: IForceDirectedGraphEntity[];
    links: Array<d3$1.SimulationLinkDatum<IForceDirectedChartDataNode>>;
    nodes: IForceDirectedChartDataNode[];
}
/** Force directed chart options. */
interface IForceDirectedChartOptions {
    /** The title of the chart. */
    chartTitle: string;
    /** The width of the chart. */
    width: number;
    /** The height of the chart. */
    height: number;
    /** The modifier for calculatin position of the center of the chart. */
    centerCalcMod: number;
    /** Configuration of the forces. */
    charge: {
        strength: number;
        theta: number;
        distanceMax: number;
    };
    distance: number;
    fontSize: number;
    collisionRadius: number;
    margin: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    linkStrokeColor: string;
    linkStrokeWidth: number;
    labelTextWrapWidth: number;
    color: d3$1.ScaleOrdinal<string, string>;
    nodeColor: string;
    nodeStrokeColor: string;
    nodeStrokeWidth: number;
}

type TForceData = IForceDirectedChartData;
type TForceOptions = Partial<IForceDirectedChartOptions>;
/** The force directed chart component. */
declare class AppForceDirectedChartComponent extends AppD3ChartBase<TForceData, TForceOptions> implements AfterViewInit, OnChanges {
    private readonly doc;
    private readonly factory;
    /** The chart identifier. */
    chartId: string;
    /** The chart data. */
    data: TForceData;
    /** The chart options. */
    options: TForceOptions;
    /** The chart container view child reference. */
    readonly container?: ElementRef<HTMLDivElement>;
    constructor();
    /** The chart options constructor. */
    protected chartOptions(): TForceOptions;
    /** Draws the chart. */
    protected drawChart(): void;
    /** Actually draws the chart after the component view is initialized. */
    ngAfterViewInit(): void;
    /** Redraws the chart on changes. */
    ngOnChanges(changes: IChartInputChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppForceDirectedChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppForceDirectedChartComponent, "app-force-directed-chart", never, { "chartId": { "alias": "chartId"; "required": false; }; "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, false, never>;
}

interface IGaugeChartDataNode {
    key: string;
    y: number;
}
interface IGaugeChartOptions {
    /** The chart title */
    chartTitle: string;
    /** The chart width for calculation of the outer radius */
    width: number;
    /** The chart height for calculation of the outer radius */
    height: number;
    /** The chart margins from the border of the container */
    margin: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    /** The inner radius of the chart */
    innerRadius: number;
    /** The chart label offset relative to the outer border */
    labelRadiusModifier: number;
    /** The chart label text wrap width */
    labelTextWrapWidth: number;
    /** Whether to show labels next to the chart slices */
    showLabels: boolean;
    /** Whether to show tooltips on chunk hover below the chart */
    showTooltips: boolean;
    /** Transition duration configuration. Used mainly for the chart tooltips. */
    transitionDuration: number;
    /** The color for the filled chunks */
    color: string;
    /** The color for the empty chunks */
    defaultColor: string;
    /** The value of the gauge chart */
    value: number;
    /** The padding between slices in radians. Set to 0 to have a solid arc. */
    padRad: number;
    /** The font size of the chart labels. */
    labelFontSize: number;
    /** The font size of the chart value. */
    valueFontSize: number;
}

type TGaugeData = IGaugeChartDataNode[];
type TGaugeOptions = Partial<IGaugeChartOptions>;
/** The gauge chart component. */
declare class AppGaugeChartComponent extends AppD3ChartBase<TGaugeData, TGaugeOptions> implements AfterViewInit, OnChanges {
    private readonly doc;
    private readonly factory;
    /** The chart id. */
    chartId: string;
    /** The value of the gauge chart. */
    value: number;
    /** The chart data. */
    data: TGaugeData;
    /** The chart options. */
    options: TGaugeOptions;
    /** D3 chart view child reference. */
    readonly container?: ElementRef<HTMLDivElement>;
    constructor();
    /** The chart options constructor. */
    protected chartOptions(): TGaugeOptions;
    /** Draws the chart. */
    protected drawChart(): void;
    /** Actually draws the chart after the component view is initialized. */
    ngAfterViewInit(): void;
    /** Redraws the chart on changes. */
    ngOnChanges(changes: IChartInputChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppGaugeChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppGaugeChartComponent, "app-gauge-chart", never, { "chartId": { "alias": "chartId"; "required": false; }; "value": { "alias": "value"; "required": false; }; "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, false, never>;
}

/** The line chart data node. */
interface ILineChartDataNode {
    /** The X axis value. */
    timestamp: number;
    /** The Y axis value. */
    value: number;
}
/** The line chart data. */
type TLineChartData = ILineChartDataNode[];
/**
 * Date formats:
 * - default: `${dd}/${mm}/${yy} ${hour}:${minute}`
 * - 'dd/mm/yyyy': `${dd}/${mm}/${yyyy}`
 * - 'dd/mm/yy': `${dd}/${mm}/${yy}`
 * - 'mm/yyyy': `${mm}/${yyyy}`
 * - 'yyyy': `${yyyy}`
 */
type TDateFormat = 'default' | 'dd/mm/yyyy' | 'dd/mm/yy' | 'mm/yyyy' | 'yyyy';
/** The line chart options. */
interface ILineChartOptions {
    /** The chart title. */
    chartTitle: string;
    /** The chart width. */
    width: number;
    /** The chart height. */
    height: number;
    /** The chart margins from the border of the container */
    margin: {
        /** The top margin. */
        top: number;
        /** The right margin. */
        right: number;
        /** The bottom margin. */
        bottom: number;
        /** The left margin. */
        left: number;
    };
    /** Transition duration configuration. Used mainly for the chart tooltips. */
    transitionDuration: number;
    /** The radius of the chart dots (vertexes). */
    dotRadius: number;
    /** The title of the X axis. */
    xAxisTitle: string;
    /** The title of the Y axis. */
    yAxisTitle: string;
    /** Axes ticks. */
    ticks: {
        /** The X axis ticks. */
        x: number;
        /** The Y axis ticks. */
        y: number;
    };
    /** Whether to display axes labels. */
    displayAxisLabels: boolean;
    /** The date format for the X axis. */
    dateFormat: TDateFormat;
    /** The chart label text wrap width */
    labelTextWrapWidth: number;
    /** The color scale for the chart */
    color: d3$1.ScaleOrdinal<string, string>;
}

type TLineData = TLineChartData[];
type TLineOptions = Partial<ILineChartOptions>;
/** The line chart component. */
declare class AppLineChartComponent extends AppD3ChartBase<TLineData, TLineOptions> implements AfterViewInit, OnChanges {
    private readonly doc;
    private readonly factory;
    /** The chart id. */
    chartId: string;
    /** The chart data. */
    data: TLineData;
    /** Labels for the chart datasets. */
    datasetLabels: string[];
    /** The chart options. */
    options: TLineOptions;
    /** D3 chart view child reference. */
    readonly container?: ElementRef<HTMLDivElement>;
    constructor();
    /** The chart options constructor. */
    protected chartOptions(): TLineOptions;
    /** Draws the chart. */
    protected drawChart(): void;
    /** Actually draws the chart after the component view is initialized. */
    ngAfterViewInit(): void;
    /** Redraws the chart on changes. */
    ngOnChanges(changes: IChartInputChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppLineChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppLineChartComponent, "app-line-chart", never, { "chartId": { "alias": "chartId"; "required": false; }; "data": { "alias": "data"; "required": false; }; "datasetLabels": { "alias": "datasetLabels"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, false, never>;
}

/** The pie chart data node. */
interface IPieChartDataNode {
    /** The pie chart slice label. */
    key: string;
    /** The pie chart slice value. */
    y: number;
}
/** The pie chart options. */
interface IPieChartOptions {
    /** The chart title */
    chartTitle: string;
    /** The chart width for calculation of the outer radius */
    width: number;
    /** The chart height for calculation of the outer radius */
    height: number;
    /** The chart margins from the border of the container */
    margin: {
        top: number;
        right: number;
        bottom: number;
        left: number;
    };
    /** The inner radius of the chart */
    innerRadius: number;
    /** The chart label offset relative to the outer border */
    labelRadiusModifier: number;
    /** The chart label text wrap width */
    labelTextWrapWidth: number;
    /** Whether to show labels next to the chart slices */
    showLabels: boolean;
    /** Transition duration configuration. Used mainly for the chart tooltips. */
    transitionDuration: number;
    /** The color scale for the chart */
    color: d3.ScaleOrdinal<string, string>;
}

type TPieData = IPieChartDataNode[];
type TPieOptions = Partial<IPieChartOptions>;
/** The pie chart component. */
declare class AppPieChartComponent extends AppD3ChartBase<TPieData, TPieOptions> implements AfterViewInit, OnChanges {
    private readonly doc;
    private readonly factory;
    /** The chart id. */
    chartId: string;
    /** The chart data. */
    data: TPieData;
    /** The chart options. */
    options: TPieOptions;
    /** D3 chart view child reference. */
    readonly container?: ElementRef<HTMLDivElement>;
    constructor();
    /** The chart options constructor. */
    protected chartOptions(): TPieOptions;
    /** Draws the chart. */
    protected drawChart(): void;
    /** Actually draws the chart after the component view is initialized. */
    ngAfterViewInit(): void;
    /** Redraws the chart on changes. */
    ngOnChanges(changes: IChartInputChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppPieChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppPieChartComponent, "app-pie-chart", never, { "chartId": { "alias": "chartId"; "required": false; }; "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, false, never>;
}

/** The radar chart data node. */
interface IRadarChartDataNode {
    /** The radar chart axis name. */
    axis: string;
    /** The radar chart axis value. */
    value: number;
    /** The radar chart axis unit. */
    unit: string;
}
/** The radar chart data. */
type TRadarChartData = IRadarChartDataNode[][];
/** The radar chart options. */
interface IRadarChartOptions {
    /** The chart title. */
    chartTitle: string;
    /** The chart width. */
    width: number;
    /** The chart height. */
    height: number;
    /** The chart margins from the border of the container */
    margin: {
        /** The top margin. */
        top: number;
        /** The right margin. */
        right: number;
        /** The botton margin. */
        bottom: number;
        /** The left margin. */
        left: number;
    };
    maxValue: number;
    levels: number;
    lineFactor: number;
    labelFactor: number;
    opacityArea: number;
    /** The radius of the chart dots (vertexes). */
    dotRadius: number;
    opacityCircles: number;
    strokeWidth: number;
    roundStrokes: boolean;
    /** Transition duration configuration. Used mainly for the chart tooltips. */
    transitionDuration: number;
    /** The chart label text wrap width */
    labelTextWrapWidth: number;
    /** The color scale for the chart */
    color: d3$1.ScaleOrdinal<string, string>;
}

type TRadarData = IRadarChartDataNode[][];
type TRadarOptions = Partial<IRadarChartOptions>;
/** The radar chart component. */
declare class AppRadarChartComponent extends AppD3ChartBase<TRadarData, TRadarOptions> implements AfterViewInit, OnChanges {
    private readonly doc;
    private readonly factory;
    /** The chart id. */
    chartId: string;
    /** The chart data. */
    data: TRadarData;
    /** The chart options. */
    options: TRadarOptions;
    /** D3 chart view child reference. */
    readonly container?: ElementRef<HTMLDivElement>;
    constructor();
    /** The chart options constructor. */
    protected chartOptions(): TRadarOptions;
    /** Draws the chart. */
    protected drawChart(): void;
    /** Actually draws the chart after the component view is initialized. */
    ngAfterViewInit(): void;
    /** Redraws the chart on changes. */
    ngOnChanges(changes: IChartInputChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppRadarChartComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppRadarChartComponent, "app-radar-chart", never, { "chartId": { "alias": "chartId"; "required": false; }; "data": { "alias": "data"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, {}, never, never, false, never>;
}

/** Line chart example. */
declare class AppChartExamplesLineComponent {
    private readonly breakpointObserver;
    /** The chart data. */
    private get chartData();
    /** The breakpoint observer stream. */
    private readonly breakpoint$;
    /** The chart configuration stream. */
    readonly chartConfig$: rxjs.Observable<{
        data: TLineChartData[];
        datasetLabels: string[];
        options: Partial<ILineChartOptions>;
        optionsDateDdMmYy: Partial<ILineChartOptions>;
        optionsDateDdMmYyyy: Partial<ILineChartOptions>;
        optionsDateMmYyyy: Partial<ILineChartOptions>;
    }>;
    /**
     * Random value generator.
     * @param range value range
     */
    private randomValue;
    /**
     * Random timestamp generator.
     * @param range value range
     */
    private randomTimestamp;
    /**
     * Example line chart options.
     * @param dateFormat date format
     */
    private lineChartOptions;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppChartExamplesLineComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppChartExamplesLineComponent, "app-chart-examples-line", never, {}, {}, never, never, false, never>;
}

/** Radar chart example. */
declare class AppChartExamplesRadaraComponent {
    private readonly breakpointObserver;
    /** The chart data. */
    private get chartData();
    /** The chart options. */
    private get chartOptions();
    /** The breakpoint observer stream. */
    private readonly breakpoint$;
    /** The chart configuration stream. */
    readonly chartConfig$: rxjs.Observable<{
        data: IRadarChartDataNode[][];
        options: Partial<IRadarChartOptions>;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppChartExamplesRadaraComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppChartExamplesRadaraComponent, "app-chart-examples-radar", never, {}, {}, never, never, false, never>;
}

/** Bar chart example. */
declare class AppChartExamplesBarComponent {
    private readonly breakpointObserver;
    /** The chart data. */
    private get chartData();
    /** The chart options. */
    private get chartOptions();
    /** The breakpoint observer stream. */
    private readonly breakpoint$;
    /** The chart configuration stream. */
    readonly chartConfig$: rxjs.Observable<{
        data: TBarChartData;
        options: Partial<IBarChartOptions>;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppChartExamplesBarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppChartExamplesBarComponent, "app-chart-examples-bar", never, {}, {}, never, never, false, never>;
}

/** Pie chart example. */
declare class AppChartExamplesPieComponent {
    private readonly breakpointObserver;
    /** The chart data. */
    private get chartData();
    /** The chart options. */
    private get chartOptions();
    /** The breakpoint observer stream. */
    private readonly breakpoint$;
    /** The chart configuration stream. */
    readonly chartConfig$: rxjs.Observable<{
        data: IPieChartDataNode[];
        options: {
            first: Partial<IPieChartOptions>;
            second: Partial<IPieChartOptions>;
        };
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppChartExamplesPieComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppChartExamplesPieComponent, "app-chart-examples-pie", never, {}, {}, never, never, false, never>;
}

/** Gauge chart example. */
declare class AppChartExamplesGaugeComponent {
    private readonly breakpointObserver;
    /** The chat values. */
    value: {
        first: number;
        second: number;
        third: number;
    };
    /** The chart data. */
    private get chartData();
    /**
     * Example gauge chart options.
     */
    private get chartOptions();
    /** The breakpoint observer stream. */
    private readonly breakpoint$;
    /** The chart configuration stream. */
    readonly chartConfig$: rxjs.Observable<{
        data: {
            first: IGaugeChartDataNode[];
            second: IGaugeChartDataNode[];
        };
        options: {
            first: Partial<IGaugeChartOptions>;
            second: Partial<IGaugeChartOptions>;
            third: Partial<IGaugeChartOptions>;
            fourth: Partial<IGaugeChartOptions>;
        };
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppChartExamplesGaugeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppChartExamplesGaugeComponent, "app-chart-examples-gauge", never, {}, {}, never, never, false, never>;
}

/** Force directed chart example. */
declare class AppChartExamplesForceDirectedComponent {
    private readonly breakpointObserver;
    /** Sample chart data. */
    private readonly value;
    /** The chart data. */
    private get chartData();
    /** The chart options. */
    private get chartOptions();
    /** the breakpoint observer stream. */
    private readonly breakpoint$;
    /** The chart configuration stream. */
    readonly chartConfig$: rxjs.Observable<{
        data: IForceDirectedChartData;
        options: Partial<IForceDirectedChartOptions>;
    }>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppChartExamplesForceDirectedComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AppChartExamplesForceDirectedComponent, "app-chart-examples-force-directed", never, {}, {}, never, never, false, never>;
}

declare class AppD3ChartsModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AppD3ChartsModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AppD3ChartsModule, [typeof AppGaugeChartComponent, typeof AppPieChartComponent, typeof AppRadarChartComponent, typeof AppForceDirectedChartComponent, typeof AppBarChartComponent, typeof AppLineChartComponent, typeof AppChartExamplesComponent, typeof AppChartExamplesLineComponent, typeof AppChartExamplesRadaraComponent, typeof AppChartExamplesBarComponent, typeof AppChartExamplesPieComponent, typeof AppChartExamplesGaugeComponent, typeof AppChartExamplesForceDirectedComponent], [typeof i14.CommonModule], [typeof AppGaugeChartComponent, typeof AppPieChartComponent, typeof AppRadarChartComponent, typeof AppForceDirectedChartComponent, typeof AppBarChartComponent, typeof AppLineChartComponent, typeof AppChartExamplesComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AppD3ChartsModule>;
}

/**
 * The bar chart default configuration.
 */
declare const defaultBarChartConfig: IBarChartOptions;
/**
 * Draws the bar chart.
 * @param container the chart container
 * @param data the chart data
 * @param options the chart options
 * @returns the chart configuration
 */
declare const drawBarChart: (container: ElementRef<HTMLDivElement>, data: TBarChartData, options?: Partial<IBarChartOptions>) => IBarChartOptions;

/**
 * The force directed chart default configuration.
 */
declare const defaultForceDirectedChartConfig: IForceDirectedChartOptions;
/**
 * Draws the force directed chart.
 * @param container the chart container
 * @param data the chart data
 * @param options the chart options
 * @returns the chart configuration
 */
declare const drawForceDirectedChart: (container: ElementRef<HTMLDivElement>, data: IForceDirectedChartData, options?: Partial<IForceDirectedChartOptions>) => IForceDirectedChartOptions;

/**
 * The gauge chart default configuration.
 */
declare const defaultGaugeChartConfig: IGaugeChartOptions;
/**
 * Draws the gauge chart.
 * @param container the chart container
 * @param data the chart data
 * @param options the chart options
 * @returns the chart configuration
 */
declare const drawGaugeChart: (container: ElementRef<HTMLDivElement>, data: IGaugeChartDataNode[], options?: Partial<IGaugeChartOptions>) => IGaugeChartOptions;

/** The line chart default configuration. */
declare const defaultLineChartConfig: ILineChartOptions;
/**
 * Draws the line chart.
 * @param container the chart container
 * @param data the chart data
 * @param options the chart options
 * @returns the chart configuration
 */
declare const drawLineChart: (container: ElementRef<HTMLDivElement>, data: TLineChartData[], datasetLabels: string[], options?: Partial<ILineChartOptions>) => ILineChartOptions;

/**
 * The pie chart default configuration.
 */
declare const defaultPieChartConfig: IPieChartOptions;
/**
 * Draws the pie chart.
 * @param container the chart container
 * @param data the chart data
 * @param options the chart options
 * @returns the chart configuration
 */
declare const drawPieChart: (container: ElementRef<HTMLDivElement>, data: IPieChartDataNode[], options?: Partial<IPieChartOptions>) => IPieChartOptions;

/**
 * The radar chart default configuration.
 */
declare const defaultRadarChartConfig: IRadarChartOptions;
/**
 * Draws the radar chart.
 * @param container the chart container
 * @param data the chart data
 * @param options the chart options
 * @returns the hart configuration
 */
declare const drawRadarChart: (container: ElementRef<HTMLDivElement>, data: TRadarChartData, options?: Partial<IRadarChartOptions>) => IRadarChartOptions;

export { AppBarChartComponent, AppChartExamplesComponent, AppD3ChartsModule, AppForceDirectedChartComponent, AppGaugeChartComponent, AppLineChartComponent, AppPieChartComponent, AppRadarChartComponent, defaultBarChartConfig, defaultForceDirectedChartConfig, defaultGaugeChartConfig, defaultLineChartConfig, defaultPieChartConfig, defaultRadarChartConfig, drawBarChart, drawForceDirectedChart, drawGaugeChart, drawLineChart, drawPieChart, drawRadarChart };
export type { IBarChartDataNode, IBarChartOptions, IChartInputChanges, IForceDirectedChartData, IForceDirectedChartDataNode, IForceDirectedChartOptions, IForceDirectedGraphDomain, IForceDirectedGraphEntity, IGaugeChartDataNode, IGaugeChartOptions, ILineChartDataNode, ILineChartOptions, IPieChartDataNode, IPieChartOptions, IRadarChartDataNode, IRadarChartOptions, TBarChartData, TDateFormat, TLineChartData, TRadarChartData };
