interface WizardProjectData {
    apiKeys: {
        token: string;
    };
    projects: SentryProjectData[];
}
export type PackageDotJson = {
    scripts?: Record<string, string>;
    dependencies?: Record<string, string>;
    devDependencies?: Record<string, string>;
};
export interface SentryProjectData {
    id: string;
    slug: string;
    name: string;
    organization: {
        slug: string;
    };
    keys: [{
        dsn: {
            public: string;
        };
    }];
}
export declare function abort(message?: string, status?: number): Promise<never>;
export declare function abortIfCancelled<T>(input: T | Promise<T>): Promise<Exclude<T, symbol>>;
export declare function printWelcome(options: {
    wizardName: string;
    promoCode?: string;
    message?: string;
}): void;
export declare function confirmContinueEvenThoughNoGitRepo(): Promise<void>;
export declare function askForWizardLogin(options: {
    url: string;
    promoCode?: string;
    platform?: 'javascript-nextjs' | 'javascript-sveltekit';
}): Promise<WizardProjectData>;
export declare function askForProjectSelection(projects: SentryProjectData[]): Promise<SentryProjectData>;
export declare function installPackage({ packageName, alreadyInstalled, }: {
    packageName: string;
    alreadyInstalled: boolean;
}): Promise<void>;
export declare function askForSelfHosted(): Promise<{
    url: string;
    selfHosted: boolean;
}>;
export declare function addSentryCliRc(authToken: string): Promise<void>;
export declare function addDotEnvSentryBuildPluginFile(authToken: string): Promise<void>;
export declare function ensurePackageIsInstalled(packageJson: PackageDotJson, packageId: string, packageName: string): Promise<void>;
export declare function getPackageDotJson(): Promise<PackageDotJson>;
export declare function hasPackageInstalled(packageName: string, packageJson: PackageDotJson): boolean;
export {};
