import type { DataPermission, DataPermissionValue, DatabaseEntityId, EntityWithGroupId, SchemaEntityId } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase/admin/permissions/types";
import type { DatabasePermissions, GroupPermissions, GroupsPermissions } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api";
type SchemaPartial = {
    name: string;
    getTables: () => {
        id: number | string;
    }[];
};
type DatabasePartial = {
    schemas?: SchemaPartial[];
    schema(schemaName: string | undefined): SchemaPartial | null | undefined;
};
export declare function hasPermissionValueInSubgraph(permissions: GroupsPermissions, groupId: number, entityId: DatabaseEntityId | SchemaEntityId, database: DatabasePartial, permission: DataPermission, value: DataPermissionValue): boolean;
export declare function hasPermissionValueInGraph(permissions: GroupsPermissions | GroupPermissions | DatabasePermissions | DataPermissionValue, permissionValue: Omit<DataPermissionValue, DataPermissionValue.BLOCKED | DataPermissionValue.NO>): boolean;
export declare function hasPermissionValueInEntityGraphs(permissions: GroupsPermissions, entityIds: EntityWithGroupId[], permission: DataPermission, permissionValue: DataPermissionValue): boolean;
export {};
