import type { SyntheticEvent } from 'react';
import React from 'react';
import TableStyleSet from '../../utils/TableStyleSet';
type PaginationParamsType = {
    source?: string;
    format?: string;
    offset?: number;
    count?: number;
    requestTotalCount?: boolean;
};
export interface ConfigurationPanelProps {
    /** Available table styles. Used to populate the table styles dropdown. */
    tableStyles?: TableStyleSet;
    /** Current table style */
    currentTableStyle?: string;
    /** Array of options provided to format the events in the table */
    formattingOptions?: string[];
    /** Callback for options change requests. Will be passed the tuple (event, tableStyleKey)  */
    onOptionsChange: (data: {
        [key: string]: string | boolean | Array<number>;
    }) => void;
    /** Feature toggle for pagination */
    showPagination?: boolean;
    /** Pagination options */
    pagination?: {
        /** The total number of pages in the events collection */
        totalPages: number;
        /** The current page of events that is displayed */
        page: number;
        /** The length of a page */
        pageLength: number;
        /** Page length options available to the user */
        pageLengthOptions: Array<number>;
    };
    /**
     * search request parameters
     */
    requestParams?: PaginationParamsType;
    /**
     * A callback to request new data with updated search request params.
     * Required if using pagination
     */
    onRequestParamsChange?: (str: string, data: PaginationParamsType & {
        offset: number;
        count: number;
    }) => void;
    /** Styles to be applied to the root element of this component */
    style?: {
        [key: string]: any;
    };
    /** The values for the formatting options  */
    formattingValues: {
        [key: string]: any;
    };
    /**
     * The number of selected rows (events)
     */
    selectionCount?: number;
    /**
     * Actions to act on the selected rows (events) in the table
     */
    selectionActions?: {
        name: string;
        label: string;
    }[];
    /**
     * Handler for when the user selects a selection action
     */
    onSelectionActionClicked?: (e: SyntheticEvent, { action }: {
        action: string;
    }) => void;
}
declare const ConfigurationPanel: ({ showPagination, tableStyles, pagination, style, formattingOptions, formattingValues, currentTableStyle, onRequestParamsChange, requestParams, onOptionsChange, selectionActions, selectionCount, onSelectionActionClicked, }: ConfigurationPanelProps) => React.JSX.Element;
export default ConfigurationPanel;
