import type { IconName, IconProps } from "../../ui";
import type { Collection, CollectionContentModel } from "../../../metabase-types/api";
import type { State } from "../../../metabase-types/store";
export declare function normalizedCollection(collection: Collection): Collection | {
    id: "root";
    readonly name: string;
    location: string;
    path: never[];
    is_personal: boolean;
};
export declare function getCollectionIcon(collection: Partial<Collection>, { tooltip }?: {
    tooltip?: string | undefined;
}): {
    name: IconName;
    color?: string;
    tooltip?: string;
};
export declare function getCollectionType(collectionId: Collection["id"] | undefined | null, state: State): "other" | "root" | "personal" | null;
export interface CollectionTreeItem extends Collection {
    icon: IconName | IconProps;
    children: CollectionTreeItem[];
    schemaName?: string;
}
export declare function buildCollectionTree(collections?: Collection[], modelFilter?: (model: CollectionContentModel) => boolean): CollectionTreeItem[];
