import type Question from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-lib/v1/Question";
import type Field from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-lib/v1/metadata/Field";
import type { Dashboard, FieldValue, Parameter, RowValue } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api";
import type { ValuesMode } from "./types";
export declare function searchFieldValues({ fields, value, disablePKRemappingForSearch, maxResults, }: {
    fields: Field[];
    value: string;
    disablePKRemappingForSearch?: boolean;
    maxResults: number;
}, cancelled: Promise<unknown>): Promise<FieldValue[]>;
export declare function getNonVirtualFields(fields: Field[]): Field[];
export declare function dedupeValues(valuesList: FieldValue[][]): FieldValue[];
export declare function canUseParameterEndpoints(parameter?: Parameter): boolean;
export declare function canUseCardEndpoints(question?: Question): boolean | undefined;
export declare function canUseDashboardEndpoints(dashboard?: Dashboard): import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").DashboardId | undefined;
export declare function showRemapping(fields: Field[]): boolean;
export declare function shouldList({ parameter, fields, disableSearch, }: {
    parameter?: Parameter;
    fields: Field[];
    disableSearch: boolean;
}): boolean;
export declare function searchField(field: Field, disablePKRemappingForSearch: boolean): Field | null;
export declare function hasList({ parameter, fields, disableSearch, options, }: {
    parameter?: Parameter;
    fields: Field[];
    disableSearch: boolean;
    options: FieldValue[];
}): boolean;
export declare function isExtensionOfPreviousSearch(value: string, lastValue: string, options: FieldValue[], maxResults: number): boolean | "";
export declare function isSearchable({ parameter, fields, disableSearch, disablePKRemappingForSearch, valuesMode, }: {
    parameter?: Parameter;
    fields: Field[];
    disableSearch: boolean;
    disablePKRemappingForSearch?: boolean;
    valuesMode?: ValuesMode;
}): boolean;
export declare function getTokenFieldPlaceholder({ fields, parameter, disableSearch, placeholder, disablePKRemappingForSearch, options, valuesMode, }: {
    fields: Field[];
    parameter?: Parameter;
    disableSearch: boolean;
    placeholder?: string;
    disablePKRemappingForSearch?: boolean;
    options: FieldValue[];
    valuesMode: ValuesMode;
}): string;
export declare function getValuesMode({ parameter, fields, disableSearch, disablePKRemappingForSearch, }: {
    parameter?: Parameter;
    fields: Field[];
    disableSearch: boolean;
    disablePKRemappingForSearch?: boolean;
}): ValuesMode;
export declare function isNumeric(field: Field, parameter?: Parameter): boolean;
export declare function getLabel(option: FieldValue): string | undefined;
export declare function getValue(option: FieldValue): RowValue;
