// Generated by dts-bundle-generator v9.5.1

type LooseAutocomplete<T extends string> = T | Omit<string, T>;
declare const SUPPORTED_APP_TYPES: {
	readonly apk: "apk";
	readonly bundle: "bundle";
};
declare const SPECIAL_APP_VERSION_TOKENS: readonly [
	"latest",
	"stable",
	"beta",
	"alpha"
];
type SpecialAppVersionToken = (typeof SPECIAL_APP_VERSION_TOKENS)[number];
type AppType = (typeof SUPPORTED_APP_TYPES)[keyof typeof SUPPORTED_APP_TYPES];
type AppArch = "universal" | "noarch" | "armeabi-v7a" | "arm64-v8a" | "x86" | "x86_64";
export type App = {
	org: string;
	repo: string;
};
export type AppOptions = {
	version?: string;
	arch?: string;
	fallbackArch?: string;
	dpi?: string;
	type?: AppType;
	minAndroidVersion?: string;
	outFile?: string;
	outDir?: string;
	overwrite?: boolean;
};
export type APKMDOptions = {
	arch?: AppOptions["arch"];
	dpi?: AppOptions["dpi"];
	minAndroidVersion?: AppOptions["minAndroidVersion"];
	outDir?: AppOptions["outDir"];
};
export type APKMDOptionsWithSuggestions = APKMDOptions & {
	arch?: LooseAutocomplete<AppArch>;
};
export type AppOptionsWithSuggestions = AppOptions & {
	arch?: LooseAutocomplete<AppArch>;
	version?: LooseAutocomplete<SpecialAppVersionToken>;
};
export declare class APKMirrorDownloader {
	#private;
	constructor(options?: APKMDOptionsWithSuggestions);
	download(app: App, options?: AppOptionsWithSuggestions): Promise<{
		dest: string;
		skipped: true;
	} | {
		dest: string;
		skipped: false;
	}>;
	static download(app: App, options?: AppOptionsWithSuggestions): Promise<{
		dest: string;
		skipped: true;
	} | {
		dest: string;
		skipped: false;
	}>;
}

export {};
