import type { Component } from '../../../shared-logic/src/Component/types';
import { ViewConfiguration as ViewConfigurationImported } from '../../../shared-logic/src/ViewConfiguration/types';
export declare type ViewConfiguration = ViewConfigurationImported;
import { QueryEngineConfig } from '../../../shared-logic/src/QueryEngineConfig/types';
import { Client } from '../../../shared-logic/src/VizzlyConfig/types';
declare type RequiredAttributes<T extends Component.Attributes> = {
    dataSetId: T['dataSetId'];
};
export declare class View<T extends Component.Attributes> {
    attributes: T;
    static queryEngineConfig: QueryEngineConfig | null;
    constructor(attributes: Partial<T> & {
        type: T['type'];
    } & RequiredAttributes<T>);
    getQueryEngineConfig(): import("@vizzly/semantic-layer-public/dist/types").QueryEngineConfig;
    static setQueryEngineConfig(queryEngineConfigOrClient: QueryEngineConfig | Client | null): void;
    updateAttributes(newAttributes: Partial<T>): void;
}
export declare type AnyView = AreaChart | AreaChartV2 | LineChart | LineChartV2 | BarChart | BarChartV2 | PieChart | BubbleChart | BubbleChartV2 | ScatterChart | ScatterChartV2 | ComboChart | ComboChartV2 | PivotTable | BasicTable | HorizontalBarChart | HorizontalBarChartV2 | MercatorMap | SingleStat | Progress | RichText | WaterfallChart | FunnelChart | SunburstChart | RadarChart;
export declare class AreaChart extends View<Component.AreaChartAttributes> {
    constructor(attributes: Partial<Component.AreaChartAttributes> & RequiredAttributes<Component.AreaChartAttributes>);
    static type(): Component.AreaChartAttributes['type'];
}
export declare class AreaChartV2 extends View<Component.AreaChartV2Attributes> {
    constructor(attributes: Partial<Component.AreaChartV2Attributes> & RequiredAttributes<Component.AreaChartV2Attributes>);
    static type(): Component.AreaChartV2Attributes['type'];
}
export declare class LineChart extends View<Component.LineChartAttributes> {
    constructor(attributes: Partial<Component.LineChartAttributes> & RequiredAttributes<Component.LineChartAttributes>);
    static type(): Component.LineChartAttributes['type'];
}
export declare class LineChartV2 extends View<Component.LineChartV2Attributes> {
    constructor(attributes: Partial<Component.LineChartV2Attributes> & RequiredAttributes<Component.LineChartV2Attributes>);
    static type(): Component.LineChartV2Attributes['type'];
}
export declare class BarChart extends View<Component.BarChartAttributes> {
    constructor(attributes: Partial<Component.BarChartAttributes> & RequiredAttributes<Component.BarChartAttributes>);
    static type(): Component.BarChartAttributes['type'];
}
export declare class BarChartV2 extends View<Component.BarChartV2Attributes> {
    constructor(attributes: Partial<Component.BarChartV2Attributes> & RequiredAttributes<Component.BarChartV2Attributes>);
    static type(): Component.BarChartV2Attributes['type'];
}
export declare class PieChart extends View<Component.PieChartAttributes> {
    constructor(attributes: Partial<Component.PieChartAttributes> & RequiredAttributes<Component.PieChartAttributes>);
    static type(): Component.PieChartAttributes['type'];
}
export declare class BubbleChart extends View<Component.BubbleChartAttributes> {
    constructor(attributes: Partial<Component.BubbleChartAttributes> & RequiredAttributes<Component.BubbleChartAttributes>);
    static type(): Component.BubbleChartAttributes['type'];
}
export declare class BubbleChartV2 extends View<Component.BubbleChartV2Attributes> {
    constructor(attributes: Partial<Component.BubbleChartV2Attributes> & RequiredAttributes<Component.BubbleChartV2Attributes>);
    static type(): Component.BubbleChartV2Attributes['type'];
}
export declare class SunburstChart extends View<Component.SunburstChartAttributes> {
    constructor(attributes: Partial<Component.SunburstChartAttributes> & RequiredAttributes<Component.SunburstChartAttributes>);
    static type(): Component.SunburstChartAttributes['type'];
}
export declare class ScatterChart extends View<Component.ScatterChartAttributes> {
    constructor(attributes: Partial<Component.ScatterChartAttributes> & RequiredAttributes<Component.ScatterChartAttributes>);
    static type(): Component.ScatterChartAttributes['type'];
}
export declare class ScatterChartV2 extends View<Component.ScatterChartV2Attributes> {
    constructor(attributes: Partial<Component.ScatterChartV2Attributes> & RequiredAttributes<Component.ScatterChartV2Attributes>);
    static type(): Component.ScatterChartV2Attributes['type'];
}
export declare class ComboChart extends View<Component.ComboChartAttributes> {
    constructor(attributes: Partial<Component.ComboChartAttributes> & RequiredAttributes<Component.ComboChartAttributes>);
    static type(): Component.ComboChartAttributes['type'];
}
export declare class ComboChartV2 extends View<Component.ComboChartV2Attributes> {
    constructor(attributes: Partial<Component.ComboChartV2Attributes> & RequiredAttributes<Component.ComboChartV2Attributes>);
    static type(): Component.ComboChartV2Attributes['type'];
}
export declare class PivotTable extends View<Component.DataTableAttributes> {
    constructor(attributes: Partial<Component.DataTableAttributes> & RequiredAttributes<Component.DataTableAttributes>);
    static type(): Component.DataTableAttributes['type'];
}
export declare class BasicTable extends View<Component.BasicTableAttributes> {
    constructor(attributes: Partial<Component.BasicTableAttributes> & RequiredAttributes<Component.BasicTableAttributes>);
    static type(): Component.BasicTableAttributes['type'];
}
export declare class HorizontalBarChart extends View<Component.HorizontalBarChartAttributes> {
    constructor(attributes: Partial<Component.HorizontalBarChartAttributes> & RequiredAttributes<Component.HorizontalBarChartAttributes>);
    static type(): Component.HorizontalBarChartAttributes['type'];
}
export declare class HorizontalBarChartV2 extends View<Component.HorizontalBarChartV2Attributes> {
    constructor(attributes: Partial<Component.HorizontalBarChartV2Attributes> & RequiredAttributes<Component.HorizontalBarChartV2Attributes>);
    static type(): Component.HorizontalBarChartV2Attributes['type'];
}
export declare class MercatorMap extends View<Component.MercatorMapAttributes> {
    constructor(attributes: Partial<Component.MercatorMapAttributes> & RequiredAttributes<Component.MercatorMapAttributes>);
    static type(): Component.MercatorMapAttributes['type'];
}
export declare class SingleStat extends View<Component.SingleStatAttributes> {
    constructor(attributes: Partial<Component.SingleStatAttributes> & RequiredAttributes<Component.SingleStatAttributes>);
    static type(): Component.SingleStatAttributes['type'];
}
export declare class Progress extends View<Component.ProgressAttributes> {
    constructor(attributes: Partial<Component.ProgressAttributes> & RequiredAttributes<Component.ProgressAttributes>);
    static type(): Component.ProgressAttributes['type'];
}
export declare class RichText extends View<Component.RichTextAttributes> {
    constructor(attributes: Partial<Component.RichTextAttributes> & RequiredAttributes<Component.RichTextAttributes>);
    static type(): Component.RichTextAttributes['type'];
}
export declare class WaterfallChart extends View<Component.WaterfallChartAttributes> {
    constructor(attributes: Partial<Component.WaterfallChartAttributes> & RequiredAttributes<Component.WaterfallChartAttributes>);
    static type(): Component.WaterfallChartAttributes['type'];
}
export declare class RadarChart extends View<Component.RadarChartAttributes> {
    constructor(attributes: Partial<Component.RadarChartAttributes> & RequiredAttributes<Component.RadarChartAttributes>);
    static type(): Component.RadarChartAttributes['type'];
}
export declare class FunnelChart extends View<Component.FunnelChartAttributes> {
    constructor(attributes: Partial<Component.FunnelChartAttributes> & RequiredAttributes<Component.FunnelChartAttributes>);
    static type(): Component.FunnelChartAttributes['type'];
}
export {};
