///
import { MobileProject } from '../project';
import { AndroidResDir } from '../definitions';
import { GradleFile } from './gradle-file';
import { XmlFile } from '../xml';
import { PropertiesFile } from '../properties';
import { PlatformProject } from '../platform-project';
export declare class AndroidProject extends PlatformProject {
private manifest;
private buildGradle;
private appBuildGradle;
constructor(project: MobileProject);
load(): Promise;
getBuildGradle(): GradleFile | null;
getAppBuildGradle(): GradleFile | null;
getAndroidManifest(): XmlFile;
/**
* Get a project file container for the given path in the project root.
* This will return an existing file container or create a new one.
*/
getProjectFile(path: string, create: (filename: string) => T): T | null;
getResourceXmlFile(resourcePath: string): XmlFile | null;
getXmlFile(path: string): XmlFile | null;
getPropertiesFile(path: string): PropertiesFile | null;
getGradleFile(path: string): Promise;
setAppName(appName: string): Promise;
/**
* Update the Android package name. This renames the package in `AndroidManifest.xml`,
* the `applicationId` in `app/build.gradle`, and renames the java
* package for the `MainActivity.java` file.
*
* This action will mutate the project on disk!
*/
setPackageName(packageName: string): Promise;
getMainActivityFilename(): string;
getMainActivityPath(): Promise;
getGradlePluginVersion(): Promise;
getPackageName(): Promise;
setVersionCode(versionCode: number): Promise | undefined;
getVersionCode(): Promise;
incrementVersionCode(): Promise;
setVersionName(versionName: string): Promise | undefined;
getVersionName(): Promise;
setVersionNameSuffix(versionNameSuffix: string): Promise | undefined;
getVersionNameSuffix(): Promise;
/**
* Add a new file to the given resources directory with the given contents and
* given file name
**/
getResource(resDir: AndroidResDir, file: string, options?: {
encoding: 'utf-8' | string;
} | null): Promise | Promise | undefined;
/**
* Add a new file to the given resources directory with the given contents and
* given file name
**/
addResource(resDir: AndroidResDir, file: string, contents: string): Promise;
copyFile(src: string, dest: string): Promise;
/**
* Copy the given source into the given resources directory with the
* given file name
**/
copyToResources(resDir: AndroidResDir, file: string, source: string): Promise;
private getAndroidManifestPath;
getResourcesPath(): string;
getResourcesRoot(): string | null;
private getAppRoot;
private loadGradle;
}
//# sourceMappingURL=project.d.ts.map