import type { PivotChartTypeString } from '@univerjs-pro/pivot-chart';
import type { FLinkedSheetPivotChartBuilderOf } from './f-pivot-chart-builder';
import { FPivotTable } from '@univerjs-pro/sheets-pivot/facade';
/** @ignore */
export interface IFPivotTablePivotChartMixin {
    /**
     * Creates a detached PivotChart Builder permanently linked to this PivotTable.
     *
     * Any Pivot report edit made through the table or one of its linked charts updates the one
     * shared PivotModel. Chart visuals and Drawing placement remain independent per chart.
     *
     * @param {T} type The supported Chart type.
     * @returns {FLinkedSheetPivotChartBuilderOf<T>} A prelinked, source-locked Builder.
     * @example
     * ```ts
     * import '@univerjs-pro/sheets-pivot-chart/facade';
     *
     * const fWorkbook = univerAPI.getActiveWorkbook();
     * const fWorksheet = fWorkbook.getSheetByName('Dashboard');
     * const fPivotTable = fWorkbook.getPivotTableById('pivot-table-1');
     * if (!fWorksheet || !fPivotTable) throw new Error('Pivot source is unavailable.');
     *
     * const first = await fWorksheet.insertPivotChart(
     *   fPivotTable.newChart(univerAPI.Enum.ChartTypeString.Column).setPosition('A1').build()
     * );
     * const second = await fWorksheet.insertPivotChart(
     *   fPivotTable.newChart(univerAPI.Enum.ChartTypeString.Line).setPosition('J1').build()
     * );
     * console.log(first.getPivotTableReference(), second.getPivotTableReference());
     * ```
     */
    newChart<T extends PivotChartTypeString>(type: T): FLinkedSheetPivotChartBuilderOf<T>;
}
/** @ignore */
export declare class FPivotTablePivotChartMixin extends FPivotTable implements IFPivotTablePivotChartMixin {
    newChart<T extends PivotChartTypeString>(type: T): FLinkedSheetPivotChartBuilderOf<T>;
}
declare module '@univerjs-pro/sheets-pivot/facade' {
    interface FPivotTable extends IFPivotTablePivotChartMixin {
    }
}
