import { SlicerCacheCrossFilter, SlicerCacheSortOrder, SlicerControlKind, SlicerSourceKind, SlicerStyleType, SlicerTargetKind, TimelineLevel, TimelineStyleType } from '@univerjs-pro/slicer';
import { FilterSelectionMode, RecordValueType } from '@univerjs/core';
import { FEnum } from '@univerjs/core/facade';
import { SlicerChangedKind } from './f-event';
/** @ignore */
interface IFSheetsSlicerEnumMixin {
    /**
     * Core typed member identities; Blank is distinct from a literal "(blanks)" string.
     * Returns the actual owner enum object via univerAPI.Enum.RecordValueType, not copied values or labels.
     * @returns {typeof RecordValueType} The owner enum object.
     * @see {@link RecordValueType}
     * @example
     * ```ts
     * const values = univerAPI.Enum.RecordValueType;
     * ```
     */
    RecordValueType: typeof RecordValueType;
    /**
     * Core All/Include/Exclude field-filter selection modes.
     * Returns the actual owner enum object via univerAPI.Enum.FilterSelectionMode, not copied values or labels.
     * @returns {typeof FilterSelectionMode} The owner enum object.
     * @see {@link FilterSelectionMode}
     * @example
     * ```ts
     * const values = univerAPI.Enum.FilterSelectionMode;
     * ```
     */
    FilterSelectionMode: typeof FilterSelectionMode;
    /**
     * Owner source kinds for fixed Table-column or Pivot original-field sources.
     * Returns the actual owner enum object via univerAPI.Enum.SlicerSourceKind, not copied values or labels.
     * @returns {typeof SlicerSourceKind} The owner enum object.
     * @see {@link SlicerSourceKind}
     * @example
     * ```ts
     * const values = univerAPI.Enum.SlicerSourceKind;
     * ```
     */
    SlicerSourceKind: typeof SlicerSourceKind;
    /**
     * Owner Slicer/Timeline control kinds.
     * Returns the actual owner enum object via univerAPI.Enum.SlicerControlKind, not copied values or labels.
     * @returns {typeof SlicerControlKind} The owner enum object.
     * @see {@link SlicerControlKind}
     * @example
     * ```ts
     * const values = univerAPI.Enum.SlicerControlKind;
     * ```
     */
    SlicerControlKind: typeof SlicerControlKind;
    /**
     * Owner Table/PivotTable/PivotChart source-target kinds.
     * Returns the actual owner enum object via univerAPI.Enum.SlicerTargetKind, not copied values or labels.
     * @returns {typeof SlicerTargetKind} The owner enum object.
     * @see {@link SlicerTargetKind}
     * @example
     * ```ts
     * const values = univerAPI.Enum.SlicerTargetKind;
     * ```
     */
    SlicerTargetKind: typeof SlicerTargetKind;
    /**
     * Owner shared-cache ascending/descending member sort order.
     * Returns the actual owner enum object via univerAPI.Enum.SlicerCacheSortOrder, not copied values or labels.
     * @returns {typeof SlicerCacheSortOrder} The owner enum object.
     * @see {@link SlicerCacheSortOrder}
     * @example
     * ```ts
     * const values = univerAPI.Enum.SlicerCacheSortOrder;
     * ```
     */
    SlicerCacheSortOrder: typeof SlicerCacheSortOrder;
    /**
     * Owner shared-cache treatment of members without data.
     * Returns the actual owner enum object via univerAPI.Enum.SlicerCacheCrossFilter, not copied values or labels.
     * @returns {typeof SlicerCacheCrossFilter} The owner enum object.
     * @see {@link SlicerCacheCrossFilter}
     * @example
     * ```ts
     * const values = univerAPI.Enum.SlicerCacheCrossFilter;
     * ```
     */
    SlicerCacheCrossFilter: typeof SlicerCacheCrossFilter;
    /**
     * Owner Year/Quarter/Month/Day grains; display and selection levels are independent.
     * Returns the actual owner enum object via univerAPI.Enum.TimelineLevel, not copied values or labels.
     * @returns {typeof TimelineLevel} The owner enum object.
     * @see {@link TimelineLevel}
     * @example
     * ```ts
     * const values = univerAPI.Enum.TimelineLevel;
     * ```
     */
    TimelineLevel: typeof TimelineLevel;
    /**
     * Owner Slicer style-element roles, not custom style names.
     * Returns the actual owner enum object via univerAPI.Enum.SlicerStyleType, not copied values or labels.
     * @returns {typeof SlicerStyleType} The owner enum object.
     * @see {@link SlicerStyleType}
     * @example
     * ```ts
     * const values = univerAPI.Enum.SlicerStyleType;
     * ```
     */
    SlicerStyleType: typeof SlicerStyleType;
    /**
     * Owner Timeline style-element roles, not custom style names.
     * Returns the actual owner enum object via univerAPI.Enum.TimelineStyleType, not copied values or labels.
     * @returns {typeof TimelineStyleType} The owner enum object.
     * @see {@link TimelineStyleType}
     * @example
     * ```ts
     * const values = univerAPI.Enum.TimelineStyleType;
     * ```
     */
    TimelineStyleType: typeof TimelineStyleType;
    /**
     * Owned committed definition/cache/drawing/filter event kinds; not rendered-state notifications.
     * Returns the actual owner enum object via univerAPI.Enum.SlicerChangedKind, not copied values or labels.
     * @returns {typeof SlicerChangedKind} The owner enum object.
     * @see {@link SlicerChangedKind}
     * @example
     * ```ts
     * const values = univerAPI.Enum.SlicerChangedKind;
     * ```
     */
    SlicerChangedKind: typeof SlicerChangedKind;
}
/** @ignore */
export declare class FSheetsSlicerEnumMixin extends FEnum implements IFSheetsSlicerEnumMixin {
    get RecordValueType(): typeof RecordValueType;
    get FilterSelectionMode(): typeof FilterSelectionMode;
    get SlicerSourceKind(): typeof SlicerSourceKind;
    get SlicerControlKind(): typeof SlicerControlKind;
    get SlicerTargetKind(): typeof SlicerTargetKind;
    get SlicerCacheSortOrder(): typeof SlicerCacheSortOrder;
    get SlicerCacheCrossFilter(): typeof SlicerCacheCrossFilter;
    get TimelineLevel(): typeof TimelineLevel;
    get SlicerStyleType(): typeof SlicerStyleType;
    get TimelineStyleType(): typeof TimelineStyleType;
    get SlicerChangedKind(): typeof SlicerChangedKind;
}
declare module '@univerjs/core/facade' {
    interface FEnum extends IFSheetsSlicerEnumMixin {
    }
}
export {};
