import { Channel, SeriesChannel, YChannel } from '../../component/types';
import { JSONSchemaObject, JSONSchemaArray, JSONSchemaString, JSONSchemaBoolean, JSONSchemaOneOf, JSONSchemaFieldString } from '../../api/json-schema-types';
export interface LineChartSettings extends Record<string, unknown> {
    xChannel: Channel;
    yChannel: YChannel;
    seriesChannel: SeriesChannel;
    zeroBaseline: boolean;
    interactive: boolean;
    disableEmbedded: boolean;
    mode?: 'yoy' | 'normal';
}
export interface LineChartPluginOptions {
    defaults?: Partial<LineChartSettings>;
}
export declare const defaultLineChartSettings: LineChartSettings;
export interface ILineChartSettingsSchema extends JSONSchemaObject {
    properties: {
        xChannel: JSONSchemaObject & {
            properties: {
                fields: JSONSchemaArray & {
                    items: JSONSchemaFieldString;
                };
                type: JSONSchemaString;
                independent: JSONSchemaString;
            };
        };
        yChannel: JSONSchemaObject & {
            properties: {
                fields: JSONSchemaArray & {
                    items: JSONSchemaFieldString;
                };
                type: JSONSchemaString;
                independent: JSONSchemaBoolean;
            };
        };
        seriesChannel: JSONSchemaObject & {
            properties: {
                fields: JSONSchemaArray & {
                    items: JSONSchemaFieldString;
                };
                type: JSONSchemaString;
                independent: JSONSchemaString;
                limit: JSONSchemaOneOf;
            };
        };
        zeroBaseline: JSONSchemaBoolean;
        interactive: JSONSchemaBoolean;
        disableEmbedded: JSONSchemaBoolean;
        mode: JSONSchemaString;
    };
}
export declare const lineChartSettingsSchema: ILineChartSettingsSchema;
