import type Database from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-lib/v1/metadata/Database";
import type { Group } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api";
import type { State } from "@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/store";
export declare const getIsDirty: ((state: State) => boolean) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, resultFuncArgs_1: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, resultFuncArgs_2: State) => boolean;
    memoizedResultFunc: ((resultFuncArgs_0: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, resultFuncArgs_1: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, resultFuncArgs_2: State) => boolean) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => boolean;
    dependencies: [(state: State) => import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, (state: State) => import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, (state: State) => State];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
interface DiffProps {
    databases: Database[];
    groups: Group[];
}
export declare const getDiff: ((state: State, params_0: DiffProps) => {
    groups: any;
}) & {
    clearCache: () => void;
    resultsCount: () => number;
    resetResultsCount: () => void;
} & {
    resultFunc: (resultFuncArgs_0: Database[], resultFuncArgs_1: Group[], resultFuncArgs_2: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, resultFuncArgs_3: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions) => {
        groups: any;
    };
    memoizedResultFunc: ((resultFuncArgs_0: Database[], resultFuncArgs_1: Group[], resultFuncArgs_2: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, resultFuncArgs_3: import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions) => {
        groups: any;
    }) & {
        clearCache: () => void;
        resultsCount: () => number;
        resetResultsCount: () => void;
    };
    lastResult: () => {
        groups: any;
    };
    dependencies: [(state: State, { databases }: DiffProps) => Database[], (state: State, { groups }: DiffProps) => Group[], (state: State) => import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions, (state: State) => import("@metabase/embedding-sdk-react/dist/frontend/src/metabase-types/api").GroupsPermissions];
    recomputations: () => number;
    resetRecomputations: () => void;
    dependencyRecomputations: () => number;
    resetDependencyRecomputations: () => void;
} & {
    argsMemoize: typeof import("reselect").weakMapMemoize;
    memoize: typeof import("reselect").weakMapMemoize;
};
export {};
