import type { FSheetSlicer } from './f-slicer';
import type { FSheetTimeline } from './f-timeline';
import { FWorkbook } from '@univerjs/sheets/facade';
/** @ignore */
export interface IFWorkbookSlicerMixin {
    /**
     * Returns a hosted Slicer by business view ID within this Workbook, not by Drawing ID.
     * Includes valid resource-free Drawing placeholders but excludes unattached business views and foreign-host drawings.
     *
     * @param {string} viewId The stable view identity returned by FSheetSlicer.getId.
     * @returns {FSheetSlicer | null} A live hosted facade or null when no match exists.
     * @see {@link FSheetSlicer.getId}
     * @example
     * ```ts
     * const control = fWorkbook.getSlicerById("view-1");
     * ```
     */
    getSlicerById(viewId: string): FSheetSlicer | null;
    /**
     * Returns a hosted Timeline by business view ID within this Workbook, not by Drawing ID.
     * Includes valid resource-free Drawing placeholders but excludes unattached business views and foreign-host drawings.
     *
     * @param {string} viewId The stable view identity returned by FSheetTimeline.getId.
     * @returns {FSheetTimeline | null} A live hosted facade or null when no match exists.
     * @see {@link FSheetTimeline.getId}
     * @example
     * ```ts
     * const control = fWorkbook.getTimelineById("view-1");
     * ```
     */
    getTimelineById(viewId: string): FSheetTimeline | null;
    /**
     * Returns deduplicated builtin and saved custom Slicer style names available in this Workbook.
     * These are stable style identifiers, not translated labels; use them with setStyle, or clearStyle for the document default.
     *
     * @returns {string[]} A defensive list in the scope/order described above.
     * @see {@link FSheetSlicer.setStyle}
     * @example
     * ```ts
     * const styleNames = fWorkbook.getSlicerStyleNames();
     * ```
     */
    getSlicerStyleNames(): string[];
    /**
     * Returns deduplicated builtin and saved custom Timeline style names available in this Workbook.
     * These are stable style identifiers, not translated labels; use them with setStyle, or clearStyle for the document default.
     *
     * @returns {string[]} A defensive list in the scope/order described above.
     * @see {@link FSheetTimeline.setStyle}
     * @example
     * ```ts
     * const styleNames = fWorkbook.getTimelineStyleNames();
     * ```
     */
    getTimelineStyleNames(): string[];
}
/** @ignore */
export declare class FWorkbookSlicerMixin extends FWorkbook implements IFWorkbookSlicerMixin {
    getSlicerById(viewId: string): FSheetSlicer | null;
    getTimelineById(viewId: string): FSheetTimeline | null;
    getSlicerStyleNames(): string[];
    getTimelineStyleNames(): string[];
}
declare module '@univerjs/sheets/facade' {
    interface FWorkbook extends IFWorkbookSlicerMixin {
    }
}
