import type Question from "../../../v1/Question";
import type Database from "../../../v1/metadata/Database";
import type { Field, FieldId, FieldReference, ModelCacheRefreshStatus, VisualizationSettings } from "../../../../metabase-types/api";
type FieldMetadata = {
    id?: FieldId | FieldReference;
    name: string;
    display_name: string;
    description?: string | null;
    semantic_type?: string | null;
};
/**
 * Calculates overall metadata completeness percent among given a list of field metadata
 *
 * @param {FieldMetadata[]}
 * @returns {number} — percent value between 0 and 1
 */
export declare function getDatasetMetadataCompletenessPercentage(fieldsMetadata: FieldMetadata[]): number;
export declare function checkDatabaseCanPersistDatasets(database?: Database | null): boolean | null | undefined;
export declare function checkCanBeModel(question: Question): boolean;
export declare function isAdHocModelOrMetricQuestion(question?: Question, originalQuestion?: Question): boolean;
export declare function checkCanRefreshModelCache(refreshInfo: ModelCacheRefreshStatus): boolean;
export declare function getModelCacheSchemaName(databaseId: number, siteUUID: string): string;
export declare function getSortedModelFields(columns: Field[], visualizationSettings: VisualizationSettings): Field[];
export {};
