interface RequestData extends DocumentOutput {}

interface DocumentOutput extends Pick<UserResourceSettingsUI, "resolutionScreenWidth" | "resolutionScreenHeight"> {
    targetAPI?: number | string;
    manifest?: ManifestData;
    namespace?: string;
    applicationId?: string;
    profileable?: boolean | string | string[];
    dependencies?: string[];
    dependencyScopes?: boolean | 1 | ArrayOf<DependencyScopes | "snapshot">;
    directories?: ControllerSettingsDirectoryUI;
    projectName?: string;
    mainParentDir?: string;
    mainSrcDir?: string;
    mainActivityFile?: string;
    javaVersion?: number | string;
    jvmToolchain?: number | string;
    versionName?: string;
    versionCode?: number;
    dataBinding?: boolean;
    elements?: FinalizedElement[];
    commands?: ArrayOf<string | string[]>;
    extensionData?: ObjectMap<PlainObject>;
    updateXmlOnly?: boolean;
}