import { z } from 'zod';
import { type ChartAsCode } from '../../types/coder';
import { ChartType } from '../../types/savedCharts';
import { AsCodeInternalization } from './abstract';
declare const chartAsCodeSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | undefined, string | null | undefined>;
    chartConfig: z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<ChartType.CARTESIAN>;
        config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
            eChartsConfig: z.ZodObject<{
                xAxis: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    name?: string | undefined;
                }, {
                    name?: string | undefined;
                }>, "many">>;
                yAxis: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    name?: string | undefined;
                }, {
                    name?: string | undefined;
                }>, "many">>;
                series: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    name: z.ZodOptional<z.ZodString>;
                    markLine: z.ZodOptional<z.ZodObject<{
                        data: z.ZodArray<z.ZodObject<{
                            name: z.ZodOptional<z.ZodString>;
                        }, "strip", z.ZodTypeAny, {
                            name?: string | undefined;
                        }, {
                            name?: string | undefined;
                        }>, "many">;
                    }, "strip", z.ZodTypeAny, {
                        data: {
                            name?: string | undefined;
                        }[];
                    }, {
                        data: {
                            name?: string | undefined;
                        }[];
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }, {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            }, {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            eChartsConfig: {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            };
        }, {
            eChartsConfig: {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            };
        }>>>, {
            eChartsConfig: {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            };
        } | undefined, {
            eChartsConfig: {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            };
        } | null | undefined>;
    }, "strip", z.ZodTypeAny, {
        type: ChartType.CARTESIAN;
        config?: {
            eChartsConfig: {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            };
        } | undefined;
    }, {
        type: ChartType.CARTESIAN;
        config?: {
            eChartsConfig: {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            };
        } | null | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<ChartType.PIE>;
        config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
            groupLabelOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        }, "strip", z.ZodTypeAny, {
            groupLabelOverrides?: Record<string, string> | undefined;
        }, {
            groupLabelOverrides?: Record<string, string> | undefined;
        }>>>, {
            groupLabelOverrides?: Record<string, string> | undefined;
        } | undefined, {
            groupLabelOverrides?: Record<string, string> | undefined;
        } | null | undefined>;
    }, "strip", z.ZodTypeAny, {
        type: ChartType.PIE;
        config?: {
            groupLabelOverrides?: Record<string, string> | undefined;
        } | undefined;
    }, {
        type: ChartType.PIE;
        config?: {
            groupLabelOverrides?: Record<string, string> | undefined;
        } | null | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<ChartType.FUNNEL>;
        config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
            labelOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
        }, "strip", z.ZodTypeAny, {
            labelOverrides?: Record<string, string> | undefined;
        }, {
            labelOverrides?: Record<string, string> | undefined;
        }>>>, {
            labelOverrides?: Record<string, string> | undefined;
        } | undefined, {
            labelOverrides?: Record<string, string> | undefined;
        } | null | undefined>;
    }, "strip", z.ZodTypeAny, {
        type: ChartType.FUNNEL;
        config?: {
            labelOverrides?: Record<string, string> | undefined;
        } | undefined;
    }, {
        type: ChartType.FUNNEL;
        config?: {
            labelOverrides?: Record<string, string> | undefined;
        } | null | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<ChartType.BIG_NUMBER>;
        config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
            label: z.ZodOptional<z.ZodString>;
            comparisonLabel: z.ZodOptional<z.ZodString>;
            comparisonField: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            label?: string | undefined;
            comparisonLabel?: string | undefined;
            comparisonField?: string | undefined;
        }, {
            label?: string | undefined;
            comparisonLabel?: string | undefined;
            comparisonField?: string | undefined;
        }>>>, {
            label?: string | undefined;
            comparisonLabel?: string | undefined;
            comparisonField?: string | undefined;
        } | undefined, {
            label?: string | undefined;
            comparisonLabel?: string | undefined;
            comparisonField?: string | undefined;
        } | null | undefined>;
    }, "strip", z.ZodTypeAny, {
        type: ChartType.BIG_NUMBER;
        config?: {
            label?: string | undefined;
            comparisonLabel?: string | undefined;
            comparisonField?: string | undefined;
        } | undefined;
    }, {
        type: ChartType.BIG_NUMBER;
        config?: {
            label?: string | undefined;
            comparisonLabel?: string | undefined;
            comparisonField?: string | undefined;
        } | null | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<ChartType.TABLE>;
        config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
            columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>>>;
        }, "strip", z.ZodTypeAny, {
            columns?: Record<string, {
                name: string;
            }> | undefined;
        }, {
            columns?: Record<string, {
                name: string;
            }> | undefined;
        }>>>, {
            columns?: Record<string, {
                name: string;
            }> | undefined;
        } | undefined, {
            columns?: Record<string, {
                name: string;
            }> | undefined;
        } | null | undefined>;
    }, "strip", z.ZodTypeAny, {
        type: ChartType.TABLE;
        config?: {
            columns?: Record<string, {
                name: string;
            }> | undefined;
        } | undefined;
    }, {
        type: ChartType.TABLE;
        config?: {
            columns?: Record<string, {
                name: string;
            }> | undefined;
        } | null | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<ChartType.CUSTOM>;
        config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
            spec: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        }, "strip", z.ZodTypeAny, {
            spec?: Record<string, unknown> | undefined;
        }, {
            spec?: Record<string, unknown> | undefined;
        }>>>, {
            spec?: Record<string, unknown> | undefined;
        } | undefined, {
            spec?: Record<string, unknown> | undefined;
        } | null | undefined>;
    }, "strip", z.ZodTypeAny, {
        type: ChartType.CUSTOM;
        config?: {
            spec?: Record<string, unknown> | undefined;
        } | undefined;
    }, {
        type: ChartType.CUSTOM;
        config?: {
            spec?: Record<string, unknown> | undefined;
        } | null | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    name: string;
    chartConfig: {
        type: ChartType.CARTESIAN;
        config?: {
            eChartsConfig: {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            };
        } | undefined;
    } | {
        type: ChartType.PIE;
        config?: {
            groupLabelOverrides?: Record<string, string> | undefined;
        } | undefined;
    } | {
        type: ChartType.FUNNEL;
        config?: {
            labelOverrides?: Record<string, string> | undefined;
        } | undefined;
    } | {
        type: ChartType.BIG_NUMBER;
        config?: {
            label?: string | undefined;
            comparisonLabel?: string | undefined;
            comparisonField?: string | undefined;
        } | undefined;
    } | {
        type: ChartType.TABLE;
        config?: {
            columns?: Record<string, {
                name: string;
            }> | undefined;
        } | undefined;
    } | {
        type: ChartType.CUSTOM;
        config?: {
            spec?: Record<string, unknown> | undefined;
        } | undefined;
    };
    description?: string | undefined;
}, {
    name: string;
    chartConfig: {
        type: ChartType.CARTESIAN;
        config?: {
            eChartsConfig: {
                xAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                yAxis?: {
                    name?: string | undefined;
                }[] | undefined;
                series?: {
                    name?: string | undefined;
                    markLine?: {
                        data: {
                            name?: string | undefined;
                        }[];
                    } | undefined;
                }[] | undefined;
            };
        } | null | undefined;
    } | {
        type: ChartType.PIE;
        config?: {
            groupLabelOverrides?: Record<string, string> | undefined;
        } | null | undefined;
    } | {
        type: ChartType.FUNNEL;
        config?: {
            labelOverrides?: Record<string, string> | undefined;
        } | null | undefined;
    } | {
        type: ChartType.BIG_NUMBER;
        config?: {
            label?: string | undefined;
            comparisonLabel?: string | undefined;
            comparisonField?: string | undefined;
        } | null | undefined;
    } | {
        type: ChartType.TABLE;
        config?: {
            columns?: Record<string, {
                name: string;
            }> | undefined;
        } | null | undefined;
    } | {
        type: ChartType.CUSTOM;
        config?: {
            spec?: Record<string, unknown> | undefined;
        } | null | undefined;
    };
    description?: string | null | undefined;
}>;
export declare class ChartAsCodeInternalization extends AsCodeInternalization<{
    type: 'chart';
    content: ChartAsCode;
}, typeof chartAsCodeSchema> {
    protected schema: z.ZodObject<{
        name: z.ZodString;
        description: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | undefined, string | null | undefined>;
        chartConfig: z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<ChartType.CARTESIAN>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                eChartsConfig: z.ZodObject<{
                    xAxis: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        name?: string | undefined;
                    }, {
                        name?: string | undefined;
                    }>, "many">>;
                    yAxis: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        name?: string | undefined;
                    }, {
                        name?: string | undefined;
                    }>, "many">>;
                    series: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        name: z.ZodOptional<z.ZodString>;
                        markLine: z.ZodOptional<z.ZodObject<{
                            data: z.ZodArray<z.ZodObject<{
                                name: z.ZodOptional<z.ZodString>;
                            }, "strip", z.ZodTypeAny, {
                                name?: string | undefined;
                            }, {
                                name?: string | undefined;
                            }>, "many">;
                        }, "strip", z.ZodTypeAny, {
                            data: {
                                name?: string | undefined;
                            }[];
                        }, {
                            data: {
                                name?: string | undefined;
                            }[];
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }, {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }>, "many">>;
                }, "strip", z.ZodTypeAny, {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                }, {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            }, {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            }>>>, {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | undefined, {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.CARTESIAN;
            config?: {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | undefined;
        }, {
            type: ChartType.CARTESIAN;
            config?: {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.PIE>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                groupLabelOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            }, "strip", z.ZodTypeAny, {
                groupLabelOverrides?: Record<string, string> | undefined;
            }, {
                groupLabelOverrides?: Record<string, string> | undefined;
            }>>>, {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | undefined, {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.PIE;
            config?: {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | undefined;
        }, {
            type: ChartType.PIE;
            config?: {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.FUNNEL>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                labelOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            }, "strip", z.ZodTypeAny, {
                labelOverrides?: Record<string, string> | undefined;
            }, {
                labelOverrides?: Record<string, string> | undefined;
            }>>>, {
                labelOverrides?: Record<string, string> | undefined;
            } | undefined, {
                labelOverrides?: Record<string, string> | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.FUNNEL;
            config?: {
                labelOverrides?: Record<string, string> | undefined;
            } | undefined;
        }, {
            type: ChartType.FUNNEL;
            config?: {
                labelOverrides?: Record<string, string> | undefined;
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.BIG_NUMBER>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                label: z.ZodOptional<z.ZodString>;
                comparisonLabel: z.ZodOptional<z.ZodString>;
                comparisonField: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            }, {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            }>>>, {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | undefined, {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.BIG_NUMBER;
            config?: {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | undefined;
        }, {
            type: ChartType.BIG_NUMBER;
            config?: {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.TABLE>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>>>;
            }, "strip", z.ZodTypeAny, {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            }, {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            }>>>, {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | undefined, {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.TABLE;
            config?: {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | undefined;
        }, {
            type: ChartType.TABLE;
            config?: {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.CUSTOM>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                spec: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            }, "strip", z.ZodTypeAny, {
                spec?: Record<string, unknown> | undefined;
            }, {
                spec?: Record<string, unknown> | undefined;
            }>>>, {
                spec?: Record<string, unknown> | undefined;
            } | undefined, {
                spec?: Record<string, unknown> | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.CUSTOM;
            config?: {
                spec?: Record<string, unknown> | undefined;
            } | undefined;
        }, {
            type: ChartType.CUSTOM;
            config?: {
                spec?: Record<string, unknown> | undefined;
            } | null | undefined;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        chartConfig: {
            type: ChartType.CARTESIAN;
            config?: {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | undefined;
        } | {
            type: ChartType.PIE;
            config?: {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | undefined;
        } | {
            type: ChartType.FUNNEL;
            config?: {
                labelOverrides?: Record<string, string> | undefined;
            } | undefined;
        } | {
            type: ChartType.BIG_NUMBER;
            config?: {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | undefined;
        } | {
            type: ChartType.TABLE;
            config?: {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | undefined;
        } | {
            type: ChartType.CUSTOM;
            config?: {
                spec?: Record<string, unknown> | undefined;
            } | undefined;
        };
        description?: string | undefined;
    }, {
        name: string;
        chartConfig: {
            type: ChartType.CARTESIAN;
            config?: {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | null | undefined;
        } | {
            type: ChartType.PIE;
            config?: {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | null | undefined;
        } | {
            type: ChartType.FUNNEL;
            config?: {
                labelOverrides?: Record<string, string> | undefined;
            } | null | undefined;
        } | {
            type: ChartType.BIG_NUMBER;
            config?: {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | null | undefined;
        } | {
            type: ChartType.TABLE;
            config?: {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | null | undefined;
        } | {
            type: ChartType.CUSTOM;
            config?: {
                spec?: Record<string, unknown> | undefined;
            } | null | undefined;
        };
        description?: string | null | undefined;
    }>;
    constructor(schema?: z.ZodObject<{
        name: z.ZodString;
        description: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodString>>, string | undefined, string | null | undefined>;
        chartConfig: z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<ChartType.CARTESIAN>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                eChartsConfig: z.ZodObject<{
                    xAxis: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        name?: string | undefined;
                    }, {
                        name?: string | undefined;
                    }>, "many">>;
                    yAxis: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        name?: string | undefined;
                    }, {
                        name?: string | undefined;
                    }>, "many">>;
                    series: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        name: z.ZodOptional<z.ZodString>;
                        markLine: z.ZodOptional<z.ZodObject<{
                            data: z.ZodArray<z.ZodObject<{
                                name: z.ZodOptional<z.ZodString>;
                            }, "strip", z.ZodTypeAny, {
                                name?: string | undefined;
                            }, {
                                name?: string | undefined;
                            }>, "many">;
                        }, "strip", z.ZodTypeAny, {
                            data: {
                                name?: string | undefined;
                            }[];
                        }, {
                            data: {
                                name?: string | undefined;
                            }[];
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }, {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }>, "many">>;
                }, "strip", z.ZodTypeAny, {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                }, {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            }, {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            }>>>, {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | undefined, {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.CARTESIAN;
            config?: {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | undefined;
        }, {
            type: ChartType.CARTESIAN;
            config?: {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.PIE>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                groupLabelOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            }, "strip", z.ZodTypeAny, {
                groupLabelOverrides?: Record<string, string> | undefined;
            }, {
                groupLabelOverrides?: Record<string, string> | undefined;
            }>>>, {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | undefined, {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.PIE;
            config?: {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | undefined;
        }, {
            type: ChartType.PIE;
            config?: {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.FUNNEL>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                labelOverrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            }, "strip", z.ZodTypeAny, {
                labelOverrides?: Record<string, string> | undefined;
            }, {
                labelOverrides?: Record<string, string> | undefined;
            }>>>, {
                labelOverrides?: Record<string, string> | undefined;
            } | undefined, {
                labelOverrides?: Record<string, string> | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.FUNNEL;
            config?: {
                labelOverrides?: Record<string, string> | undefined;
            } | undefined;
        }, {
            type: ChartType.FUNNEL;
            config?: {
                labelOverrides?: Record<string, string> | undefined;
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.BIG_NUMBER>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                label: z.ZodOptional<z.ZodString>;
                comparisonLabel: z.ZodOptional<z.ZodString>;
                comparisonField: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            }, {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            }>>>, {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | undefined, {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.BIG_NUMBER;
            config?: {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | undefined;
        }, {
            type: ChartType.BIG_NUMBER;
            config?: {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.TABLE>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>>>;
            }, "strip", z.ZodTypeAny, {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            }, {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            }>>>, {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | undefined, {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.TABLE;
            config?: {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | undefined;
        }, {
            type: ChartType.TABLE;
            config?: {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<ChartType.CUSTOM>;
            config: z.ZodEffects<z.ZodOptional<z.ZodNullable<z.ZodObject<{
                spec: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            }, "strip", z.ZodTypeAny, {
                spec?: Record<string, unknown> | undefined;
            }, {
                spec?: Record<string, unknown> | undefined;
            }>>>, {
                spec?: Record<string, unknown> | undefined;
            } | undefined, {
                spec?: Record<string, unknown> | undefined;
            } | null | undefined>;
        }, "strip", z.ZodTypeAny, {
            type: ChartType.CUSTOM;
            config?: {
                spec?: Record<string, unknown> | undefined;
            } | undefined;
        }, {
            type: ChartType.CUSTOM;
            config?: {
                spec?: Record<string, unknown> | undefined;
            } | null | undefined;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        chartConfig: {
            type: ChartType.CARTESIAN;
            config?: {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | undefined;
        } | {
            type: ChartType.PIE;
            config?: {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | undefined;
        } | {
            type: ChartType.FUNNEL;
            config?: {
                labelOverrides?: Record<string, string> | undefined;
            } | undefined;
        } | {
            type: ChartType.BIG_NUMBER;
            config?: {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | undefined;
        } | {
            type: ChartType.TABLE;
            config?: {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | undefined;
        } | {
            type: ChartType.CUSTOM;
            config?: {
                spec?: Record<string, unknown> | undefined;
            } | undefined;
        };
        description?: string | undefined;
    }, {
        name: string;
        chartConfig: {
            type: ChartType.CARTESIAN;
            config?: {
                eChartsConfig: {
                    xAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    yAxis?: {
                        name?: string | undefined;
                    }[] | undefined;
                    series?: {
                        name?: string | undefined;
                        markLine?: {
                            data: {
                                name?: string | undefined;
                            }[];
                        } | undefined;
                    }[] | undefined;
                };
            } | null | undefined;
        } | {
            type: ChartType.PIE;
            config?: {
                groupLabelOverrides?: Record<string, string> | undefined;
            } | null | undefined;
        } | {
            type: ChartType.FUNNEL;
            config?: {
                labelOverrides?: Record<string, string> | undefined;
            } | null | undefined;
        } | {
            type: ChartType.BIG_NUMBER;
            config?: {
                label?: string | undefined;
                comparisonLabel?: string | undefined;
                comparisonField?: string | undefined;
            } | null | undefined;
        } | {
            type: ChartType.TABLE;
            config?: {
                columns?: Record<string, {
                    name: string;
                }> | undefined;
            } | null | undefined;
        } | {
            type: ChartType.CUSTOM;
            config?: {
                spec?: Record<string, unknown> | undefined;
            } | null | undefined;
        };
        description?: string | null | undefined;
    }>);
    getLanguageMap(chartAsCode: ChartAsCode): {
        chart: {
            [chartAsCode.slug]: {
                name?: string | undefined;
                description?: string | undefined;
                chartConfig?: {
                    type: ChartType.CARTESIAN;
                    config?: {
                        eChartsConfig: {
                            xAxis?: {
                                name?: string | undefined;
                            }[] | undefined;
                            yAxis?: {
                                name?: string | undefined;
                            }[] | undefined;
                            series?: {
                                name?: string | undefined;
                                markLine?: {
                                    data: {
                                        name?: string | undefined;
                                    }[];
                                } | undefined;
                            }[] | undefined;
                        };
                    } | undefined;
                } | {
                    type: ChartType.PIE;
                    config?: {
                        groupLabelOverrides?: Record<string, string> | undefined;
                    } | undefined;
                } | {
                    type: ChartType.FUNNEL;
                    config?: {
                        labelOverrides?: Record<string, string> | undefined;
                    } | undefined;
                } | {
                    type: ChartType.BIG_NUMBER;
                    config?: {
                        label?: string | undefined;
                        comparisonLabel?: string | undefined;
                        comparisonField?: string | undefined;
                    } | undefined;
                } | {
                    type: ChartType.TABLE;
                    config?: {
                        columns?: Record<string, {
                            name: string;
                        }> | undefined;
                    } | undefined;
                } | {
                    type: ChartType.CUSTOM;
                    config?: {
                        spec?: Record<string, unknown> | undefined;
                    } | undefined;
                } | undefined;
            };
        };
    };
    merge(internalizationMap: ReturnType<this['getLanguageMap']>['chart'][string], content: ChartAsCode): any;
}
export type ChartAsCodeLanguageMap = ReturnType<ChartAsCodeInternalization['getLanguageMap']>;
export {};
//# sourceMappingURL=chartAsCode.d.ts.map