import type { PivotChartTypeString } from '@univerjs-pro/pivot-chart';
import type { ISheetPivotChartInfo } from '@univerjs-pro/sheets-pivot-chart';
import type { FSheetPivotChartBuilderOf } from './f-pivot-chart-builder';
import { FWorksheet } from '@univerjs/sheets/facade';
import { FSheetPivotChart } from './f-pivot-chart';
/** @ignore */
export interface IFWorksheetPivotChartMixin {
    /**
     * Creates a detached, type-specific PivotChart Builder for this worksheet.
     *
     * @param {T} type The supported Chart type.
     * @returns {FSheetPivotChartBuilderOf<T>} A detached Builder that produces insertable PivotChart information.
     * @example
     * ```ts
     * import '@univerjs-pro/sheets-pivot-chart/facade';
     *
     * const fWorkbook = univerAPI.getActiveWorkbook();
     * const fWorksheet = fWorkbook.getSheetByName('Sales');
     * const info = fWorksheet
     *   .newPivotChart(univerAPI.Enum.ChartTypeString.Column)
     *   .setSource('A1:G100')
     *   .setPosition('J2')
     *   .setSize(640, 360)
     *   .build();
     * const fPivotChart = await fWorksheet.insertPivotChart(info);
     * console.log(fPivotChart.getId());
     * ```
     */
    newPivotChart<T extends PivotChartTypeString>(type: T): FSheetPivotChartBuilderOf<T>;
    /**
     * Inserts a PivotChart from detached Builder information.
     *
     * @param {ISheetPivotChartInfo} info The PivotChart configuration, source, controls, and placement.
     * @returns {Promise<FSheetPivotChart>} A live facade after the model and Drawing are created.
     * @throws If the source, type, placement, or insertion is invalid.
     */
    insertPivotChart(info: ISheetPivotChartInfo): Promise<FSheetPivotChart>;
    /**
     * Returns a PivotChart on this worksheet by its stable identifier.
     * @param {string} pivotChartId The identifier returned by {@link FSheetPivotChart.getId}.
     * @returns {FSheetPivotChart | null} A live facade, or `null` if it is absent from this worksheet.
     */
    getPivotChart(pivotChartId: string): FSheetPivotChart | null;
    /**
     * Returns every PivotChart hosted by this worksheet.
     * @returns {FSheetPivotChart[]} Live PivotChart facades in model order.
     */
    getPivotCharts(): FSheetPivotChart[];
}
/** @ignore */
export declare class FWorksheetPivotChartMixin extends FWorksheet implements IFWorksheetPivotChartMixin {
    newPivotChart<T extends PivotChartTypeString>(type: T): FSheetPivotChartBuilderOf<T>;
    insertPivotChart(info: ISheetPivotChartInfo): Promise<FSheetPivotChart>;
    getPivotChart(pivotChartId: string): FSheetPivotChart | null;
    getPivotCharts(): FSheetPivotChart[];
    private _normalizePivotChartRange;
}
declare module '@univerjs/sheets/facade' {
    interface FWorksheet extends IFWorksheetPivotChartMixin {
    }
}
