import * as React from 'react';
import { DataListViewType } from './data-list-view.js';
export { i as isDataListSurfaceViewType } from '../data-list-view-registry-BstmlfQ3.js';

/**
 * Connects ListPageTemplate “View → Edit” to a surface that hosts TablePropertiesDrawer
 * (PlacementsTable, TeamTable, ComplianceTable, …). Import from `@/components/table-properties`
 * or use here — see `createListPageEditViewHandler`.
 *
 * View **labels** for tabs and Properties are centralized in `@/lib/data-list-view`
 * (`DATA_LIST_VIEW_TILES`, `dataListViewLabel`, `dataListViewIcon`).
 */

/** Minimal ref API any list/table surface exposes for the shared Properties drawer. */
interface OpenTablePropertiesHandle {
    openPropertiesDrawer: () => void;
}
interface CreateListPageEditViewHandlerOptions {
    /** Delay before opening Properties after switching to table (ms). Default 160. */
    switchDelayMs?: number;
}
/**
 * Returns `ListPageTemplate`’s `onEditView` handler: optionally coerces the tab to `table`
 * when the view type is unknown, then calls `ref.current.openPropertiesDrawer()`.
 */
declare function createListPageEditViewHandler(tableRef: React.RefObject<OpenTablePropertiesHandle | null>, options?: CreateListPageEditViewHandlerOptions): (tab: {
    viewType: string;
}, { updateTab }: {
    updateTab: (patch: {
        viewType?: DataListViewType;
        icon?: string;
    }) => void;
}) => void;

export { type CreateListPageEditViewHandlerOptions, type OpenTablePropertiesHandle, createListPageEditViewHandler };
