import type { v2, ControlTypeFunction, DeprecatedProperties } from '@sap/ux-specification-types';
import type { PopinLayout } from 'sap/m/library';
import type { smarttable } from 'sap/ui/comp/library';
export declare const getSmartTableControlId: (baseId: string, idBreadcrumbs: string[], _breadcrumbs: string[], controlType: ControlTypeFunction) => string;
/**
 * Import createWithParameterDialog (only) fields to Array: { field: { path: field } } => fields[].
 *
 * @param manifestSection - The section of the manifest to import create parameters from
 * @returns {{ fields: string[] }} - An object containing an array of field names.
 */
export declare function importCreateParameters(manifestSection: object): object;
/**
 * Export createWithParameterDialog fields to manifest.
 *
 * @param manifestSection - The section of the manifest to export parameters to
 * @param configPart - The configuration object containing fields to export
 * @param key - The key representing the fields in the configuration object
 */
export declare function exportCreateParametersFields(manifestSection: unknown, configPart: Fields4Dialog, key: string): void;
export declare class CreateWithFilters {
    strategy: v2.Strategy;
}
/**
 * Export table type.
 *
 * @param manifestSection - The section of the manifest to process
 * @param configPart - The configuration object containing fields to export
 */
export declare function exportType(manifestSection: unknown, configPart: object): void;
/**
 * Delete table type.
 *
 * @param manifestSection - The section of the manifest to process
 */
export declare function deleteType(manifestSection: unknown): void;
export declare class DataLoadSettings {
    loadDataOnAppLaunch: v2.LoadDataOnAppLaunchSettings;
}
export declare class Fields4Dialog implements v2.Fields4Dialog {
    fields: string[];
}
export declare class QuickVariantSelection {
    showCounts?: boolean;
    variants: {
        [key: number]: v2.QuickVariant;
    };
}
export declare class QuickVariantSelectionX implements v2.QuickVariantSelectionX {
    showCounts?: boolean;
    enableAutoBinding?: boolean;
    variants: {
        [key: number]: v2.QuickVariantX;
    };
}
export declare class CommonTableSettings<COLS = v2.GenericColumns> implements v2.CommonTableSettings<COLS> {
    getDeprecated: () => DeprecatedProperties;
    createWithParameterDialog?: Fields4Dialog;
    showTablePersonalisation?: boolean;
    useExportToExcel?: boolean;
    exportType?: smarttable.ExportType;
    quickVariantSelection?: QuickVariantSelection;
    quickVariantSelectionX?: QuickVariantSelectionX;
    multiSelect?: boolean;
    selectAll?: boolean;
    selectionLimit?: number;
    dataLoadSettings?: DataLoadSettings;
    condensedTableLayout?: boolean;
    enableTableFilterInPageVariant?: boolean;
    toolBar?: v2.ToolBar;
}
export declare class ResponsiveTable extends CommonTableSettings implements v2.ResponsiveTable {
    type?: v2.TableTypeV2.ResponsiveTable;
    createWithFilters?: CreateWithFilters;
    popinLayout?: PopinLayout;
    includeItemInSelection?: boolean;
    inlineDelete?: boolean;
    showDraftToggle?: boolean;
    growingThreshold?: number;
}
export declare class TreeTable extends CommonTableSettings implements v2.TreeTable {
    type?: v2.TableTypeV2.TreeTable;
    showDraftToggle?: boolean;
}
export declare class AnalyticalTable extends CommonTableSettings implements v2.AnalyticalTable {
    type?: v2.TableTypeV2.AnalyticalTable;
    qualifier?: string;
    defaultContentView?: v2.DefaultContentView;
    defaultFilterMode?: v2.DefaultFilterMode;
    contentTitle?: string;
    autoHide?: boolean;
    allFiltersAsInParameters?: boolean;
    createWithFilters?: CreateWithFilters;
    showDraftToggle?: boolean;
}
export declare class TableALP extends CommonTableSettings implements v2.TableALP {
    type?: v2.TableTypeV2.AnalyticalTable & v2.TableTypeV2.ResponsiveTable & v2.TableTypeV2.GridTable;
    qualifier?: string;
    defaultContentView?: v2.DefaultContentView;
    defaultFilterMode?: v2.DefaultFilterMode;
    contentTitle?: string;
    autoHide?: boolean;
    allFiltersAsInParameters?: boolean;
}
export declare class ALPResponsiveTable extends TableALP {
    growingThreshold?: number;
}
export declare class ALPGridTable extends TableALP {
}
export declare class ALPAnalyticalTable extends TableALP {
}
export declare class GridTable extends CommonTableSettings implements v2.GridTable {
    type?: v2.TableTypeV2.GridTable;
    createWithFilters?: CreateWithFilters;
    showDraftToggle?: boolean;
}
//# sourceMappingURL=Table.d.ts.map