import type Question from "../../../../metabase-lib/v1/Question";
import type Database from "../../../../metabase-lib/v1/metadata/Database";
import type Table from "../../../../metabase-lib/v1/metadata/Table";
import type { DatasetColumn, DatasetData, TableId, VisualizationSettings, WritebackAction } from "../../../../metabase-types/api";
import type { ObjectId } from "./types";
export interface GetObjectNameArgs {
    table?: Table | null;
    question?: Question;
    cols: DatasetColumn[];
    zoomedRow: unknown[] | undefined;
}
export declare const getObjectName: ({ table, question, cols, zoomedRow, }: GetObjectNameArgs) => string;
export interface GetDisplayIdArgs {
    cols: DatasetColumn[];
    zoomedRow: unknown[] | undefined;
    tableId?: TableId;
    settings: VisualizationSettings;
}
export declare const getDisplayId: ({ cols, zoomedRow, tableId, settings, }: GetDisplayIdArgs) => ObjectId | null;
export interface GetIdValueArgs {
    data: DatasetData;
    tableId?: TableId;
}
export declare const getIdValue: ({ data, tableId, }: GetIdValueArgs) => ObjectId | null;
export declare function getSingleResultsRow(data: DatasetData): import("../../..-types/api").RowValues | null;
export declare const getSinglePKIndex: (cols: DatasetColumn[]) => number | undefined;
export declare const getActionItems: ({ actions, databases, onDelete, onUpdate, }: {
    actions: WritebackAction[];
    databases: Database[];
    onDelete: (action: WritebackAction) => void;
    onUpdate: (action: WritebackAction) => void;
}) => {
    title: string;
    icon: string;
    action: () => void;
}[];
export declare const isValidImplicitDeleteAction: (action: WritebackAction) => boolean;
export declare const isValidImplicitUpdateAction: (action: WritebackAction) => boolean;
