import type { AgChartAllThemeParams, AgChartTheme, AgChartThemePalette, AgChartThemeParams, AgPaletteColors, AgPresetOverrides, AgThemeOverrides, CssColor, WithThemeParams } from 'ag-charts-types';
import { type PaletteType } from '../../module/coreModulesTypes';
import { type DefaultColors } from './defaultColors';
export declare class ChartTheme {
    readonly palette: Required<AgChartThemePalette> & {
        sequentialColors: CssColor[][];
        altUp: AgPaletteColors;
        altDown: AgPaletteColors;
        altNeutral: AgPaletteColors;
    };
    readonly paletteType: PaletteType;
    readonly config: any;
    readonly presets: AgPresetOverrides;
    readonly overrides: AgThemeOverrides | undefined;
    readonly params: AgChartAllThemeParams;
    static getDefaultColors(): DefaultColors;
    static getDefaultPublicParameters(): Required<WithThemeParams<AgChartThemeParams>>;
    private static getPrivateParameters;
    protected getChartDefaults(): {
        minHeight: number;
        minWidth: number;
        background: {
            visible: boolean;
            fill: {
                $ref: string;
            };
        };
        padding: {
            top: {
                $ref: string;
            };
            right: {
                $ref: string;
            };
            bottom: {
                $ref: string;
            };
            left: {
                $ref: string;
            };
        };
        seriesArea: {
            border: {
                enabled: boolean;
                stroke: {
                    $ref: string;
                };
                strokeOpacity: number;
                strokeWidth: number;
            };
            cornerRadius: number;
            padding: {
                $if: (number | {
                    $path: string;
                })[];
            };
        };
        keyboard: {
            enabled: boolean;
        };
        title: {
            enabled: boolean;
            text: string;
            spacing: {
                $if: (number | {
                    $path: string;
                })[];
            };
            fontWeight: {
                $ref: string;
            };
            fontSize: {
                $rem: number;
            };
            fontFamily: {
                $ref: string;
            };
            color: {
                $ref: string;
            };
            wrapping: string;
            layoutStyle: string;
            textAlign: string;
        };
        subtitle: {
            enabled: boolean;
            text: string;
            spacing: number;
            fontWeight: {
                $ref: string;
            };
            fontSize: {
                $rem: number;
            };
            fontFamily: {
                $ref: string;
            };
            color: {
                $ref: string;
            };
            wrapping: string;
            layoutStyle: string;
            textAlign: string;
        };
        footnote: {
            enabled: boolean;
            text: string;
            spacing: number;
            fontSize: {
                $rem: number;
            };
            fontFamily: {
                $ref: string;
            };
            fontWeight: {
                $ref: string;
            };
            color: {
                $ref: string;
            };
            wrapping: string;
            layoutStyle: string;
            textAlign: string;
        };
        highlight: {
            enabled: boolean;
            drawingMode: {
                $if: (string | {
                    $or: {
                        $some: ({
                            $and: ({
                                $or: {
                                    $isSeriesType: string;
                                }[];
                                $isUserOption?: undefined;
                            } | {
                                $isUserOption: (string | boolean | {
                                    $lessThan: (number | {
                                        $path: string;
                                    })[];
                                })[];
                                $or?: undefined;
                            })[];
                            $path?: undefined;
                        } | {
                            $path: string;
                            $and?: undefined;
                        })[];
                    }[];
                })[];
            };
        };
        tooltip: {
            enabled: boolean;
            darkTheme: boolean;
            delay: number;
            pagination: boolean;
            mode: {
                $if: (string | {
                    $or: {
                        $and: ({
                            $isChartType: string;
                            $not?: undefined;
                            $greaterThan?: undefined;
                            $lessThan?: undefined;
                        } | {
                            $not: {
                                $hasSeriesType: string;
                            };
                            $isChartType?: undefined;
                            $greaterThan?: undefined;
                            $lessThan?: undefined;
                        } | {
                            $greaterThan: (number | {
                                $size: {
                                    $path: string;
                                };
                            })[];
                            $isChartType?: undefined;
                            $not?: undefined;
                            $lessThan?: undefined;
                        } | {
                            $lessThan: (number | {
                                $size: {
                                    $path: string;
                                };
                            })[];
                            $isChartType?: undefined;
                            $not?: undefined;
                            $greaterThan?: undefined;
                        })[];
                    }[];
                })[];
            };
        };
        overlays: {
            darkTheme: boolean;
        };
        listeners: {};
        series: {
            tooltip: {
                range: {
                    $if: (string | {
                        $eq: (string | {
                            $path: string[];
                        })[];
                        $path?: undefined;
                    } | {
                        $path: string[];
                        $eq?: undefined;
                    })[];
                };
                position: {
                    anchorTo: {
                        $path: string[];
                    };
                    placement: {
                        $path: (string | undefined)[];
                    };
                    xOffset: {
                        $path: (string | number)[];
                    };
                    yOffset: {
                        $path: (string | number)[];
                    };
                    offset: {
                        $path: (string | {
                            $if: (number | {
                                $eq: (string | {
                                    $path: string;
                                })[];
                            })[];
                        })[];
                    };
                };
            };
        };
    };
    constructor(options?: AgChartTheme);
    private processOverrides;
    private createChartConfigPerChartType;
    private getDefaults;
    private static applyTemplateTheme;
    templateTheme<T>(themeTemplate: T, clone?: boolean): T;
    protected getDefaultColors(): DefaultColors;
    getThemeParameters(): Required<WithThemeParams<AgChartAllThemeParams>>;
    getTemplateParameters(): Map<any, any>;
}
