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 metdata either using dirName or slug
 */
export declare function getAppWithMetadata(app: {
    dirName: string;
} | {
    slug: string;
}): Promise<{
    url: string;
    title?: string;
    type: `${string}_calendar` | `${string}_messaging` | `${string}_payment` | `${string}_video` | `${string}_other` | `${string}_automation` | `${string}_analytics` | `${string}_crm` | `${string}_other_calendar`;
    name: string;
    price?: number;
    description: string;
    email: string;
    variant: "calendar" | "payment" | "conferencing" | "video" | "other" | "other_calendar" | "automation" | "crm";
    slug: string;
    createdAt?: string;
    paid?: import("@calcom/types/App").PaidAppData;
    rating?: number;
    verified?: boolean;
    logo: string;
    dirName?: string;
    categories: import('../prisma-client').AppCategories[];
    installed?: boolean;
    isTemplate?: boolean;
    category?: string;
    extendsFeature?: "EventType" | "User";
    publisher: string;
    docsUrl?: string;
    trending?: boolean;
    reviews?: number;
    isGlobal?: boolean;
    simplePath?: string;
    feeType?: "monthly" | "usage-based" | "one-time" | "free";
    commission?: number;
    licenseRequired?: boolean;
    teamsPlanRequired?: {
        upgradeUrl: string;
    };
    appData?: import("@calcom/types/App").AppData;
    __template?: string;
    dependencies?: string[];
    concurrentMeetings?: boolean;
    isOAuth?: boolean;
    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