import { INPMProject, IProjectEnv, ProjectTemplate } from "@telerik/scaffolding";
import type CreateKendoReactCRAAppOptions from "./schema.json";
import { Nextjs } from "./schema";
interface TemplateTree {
    /**
     * Relative file paths.
     */
    files: string[];
    /**
     * Reads the file at {@link file} as string.
     */
    readString(file: string): Promise<string>;
    /**
     * Reads a binary file at {@link file} as Base64 encoded string.
     */
    readBase64(file: string): Promise<string>;
}
export declare class CreateNextJSApp extends ProjectTemplate<Nextjs> {
    protected get language(): "TypeScript" | "JavaScript";
    static schema(): Promise<typeof CreateKendoReactCRAAppOptions>;
    templateTree(template: string): Promise<TemplateTree>;
    textFileExtensions: Set<string>;
    binaryFileExtensions: Set<string>;
    apply(project: INPMProject, env: IProjectEnv): Promise<void>;
    private createRootConfigFiles;
    private createAppSourceFiles;
    /**
     * Process each of the files in the {@link template} and create it in the {@link destination}.
     */
    applyTemplate(project: INPMProject, template: TemplateTree, destination: string): Promise<void>;
    private textFilePipeline;
    private createESLintRCJSON;
    private createPackageJSON;
    private createNextEnvDTS;
    private createGitIgnore;
    private createNextConfig;
    private createJSConfigJSON;
    private createTSConfigJSON;
    private createReadmeMD;
    private installKendoReact;
}
export {};
