import type { UserAdminTeams } from '../lib/server/repository/user';
import type { AppFrontendPayload as App } from "@calcom/types/App";
import type { CredentialFrontendPayload as Credential } from "@calcom/types/Credential";
export type TDependencyData = {
    name?: string;
    installed?: boolean;
}[];
/**
 * Get App metadata either using dirName or slug
 */
export declare function getAppWithMetadata(app: {
    dirName: string;
} | {
    slug: string;
}): Promise<{
    url: string;
    name: string;
    type: `${string}_calendar` | `${string}_messaging` | `${string}_payment` | `${string}_video` | `${string}_other` | `${string}_automation` | `${string}_analytics` | `${string}_crm` | `${string}_other_calendar`;
    title?: string | undefined;
    description: string;
    price?: number | undefined;
    paid?: import("@calcom/types/App").PaidAppData | undefined;
    email: string;
    logo: string;
    installed?: boolean | undefined;
    categories: import('../prisma-client').AppCategories[];
    rating?: number | undefined;
    slug: string;
    verified?: boolean | undefined;
    variant: "calendar" | "payment" | "conferencing" | "video" | "other" | "other_calendar" | "automation" | "crm";
    delegationCredential?: {
        workspacePlatformSlug: string;
    } | undefined;
    createdAt?: string | undefined;
    dirName?: string | undefined;
    extendsFeature?: "EventType" | "User" | undefined;
    category?: string | undefined;
    publisher: string;
    docsUrl?: string | undefined;
    trending?: boolean | undefined;
    reviews?: number | undefined;
    isGlobal?: boolean | undefined;
    simplePath?: string | undefined;
    feeType?: "monthly" | "usage-based" | "one-time" | "free" | undefined;
    commission?: number | undefined;
    licenseRequired?: boolean | undefined;
    teamsPlanRequired?: {
        upgradeUrl: string;
    } | undefined;
    appData?: import("@calcom/types/App").AppData | undefined;
    isTemplate?: boolean | undefined;
    __template?: string | undefined;
    dependencies?: string[] | undefined;
    concurrentMeetings?: boolean | undefined;
    isOAuth?: boolean | undefined;
    isDefault?: boolean;
    dependencyData?: {
        name?: string;
        installed?: boolean;
    }[];
    installCount?: number;
} | null>;
/** Mainly to use in listings for the frontend, use in getStaticProps or getServerSideProps */
export declare function getAppRegistry(): Promise<App[]>;
export declare function getAppRegistryWithCredentials(userId: number, userAdminTeams?: UserAdminTeams): Promise<(Omit<import("@calcom/types/App").App, "key"> & {
    isDefault?: boolean;
    key?: never;
    dependencyData?: {
        name?: string;
        installed?: boolean;
    }[];
    installCount?: number;
} & {
    credentials: Credential[];
    isDefault?: boolean;
})[]>;
//# sourceMappingURL=_appRegistry.d.ts.map