import { Constructable, IContainer } from '@aurelia/kernel';
import { CustomElementType } from '@aurelia/runtime-html';
import { DataGrid } from './data-grid.js';
import { GridHeader } from './grid-header.js';
export type ConfigurationProvider<TGrid extends Constructable<DataGrid>, THeader extends Constructable<GridHeader>> = (options: CustomizationOptions<TGrid, THeader>) => void;
interface DataGridRegistration<TGrid extends Constructable<DataGrid>, THeader extends Constructable<GridHeader>> {
    optionsProvider: ConfigurationProvider<TGrid, THeader>;
    register(container: IContainer): void;
    customize(cb?: ConfigurationProvider<TGrid, THeader>): DataGridRegistration<TGrid, THeader>;
}
export declare const DataGridConfiguration: DataGridRegistration<Constructable<DataGrid>, Constructable<GridHeader>>;
export interface CustomizationOptions<TGrid extends Constructable<DataGrid>, THeader extends Constructable<GridHeader>> {
    grid?: CustomElementType<TGrid>;
    header?: CustomElementType<THeader>;
}
export {};
//# sourceMappingURL=configuration.d.ts.map