import * as React from 'react';
import { OnePageWizardSection } from '../../Wizard/OnePageWizards';
import { AdaptableFrameworkComponent } from '../../../../types';
import { AdaptableConfig } from './AdaptableConfig';
export interface CustomSection<T> {
    title: OnePageWizardSection<T>['title'];
    details?: AdaptableFrameworkComponent;
    isValid?: OnePageWizardSection<T>['isValid'];
    isVisible?: OnePageWizardSection<T>['isVisible'];
    render: (
    /**
     * Internal state of adaptableOptions.
     */
    adaptableConfig: AdaptableConfig, 
    /**
     * With this callback adaptableOptions can be changed.
     */
    onChange: (newAdaptableConfig: AdaptableConfig) => void, 
    /**
     * Set the selected columns.
     */
    setSelectedColumns: (selectedColumn: Record<string, boolean>) => void) => React.ReactNode;
}
export interface ConfigurationWizardProps {
    adaptableConfig: AdaptableConfig;
    onFinish: (adaptableConfig: AdaptableConfig) => void;
    onCancel: () => void;
    startSections?: CustomSection<AdaptableConfig>[];
}
export declare const ConfigurationWizard: React.FunctionComponent<ConfigurationWizardProps>;
