import type { BuiltInParserName } from 'prettier';
export { prompt } from '@quilted/cli-kit';
export declare function loadTemplate(name: 'package' | 'app-basic' | 'app-empty' | 'app-graphql' | 'app-trpc' | 'module' | 'server-basic' | 'workspace' | 'github' | 'vscode'): {
    copy(to: string, handleFile?: (file: string) => boolean): Promise<void>;
    read(file: string): Promise<string>;
    has(file: string): Promise<boolean>;
};
export interface OutputTarget {
    readonly root: string;
    read(file: string): Promise<string>;
    write(file: string, content: string): Promise<void>;
}
export declare function createOutputTarget(target: string): OutputTarget;
export declare function toValidPackageName(projectName: string): string;
export declare function writeFile(file: string, content: string): Promise<void>;
export declare function isEmpty(path: string): Promise<boolean>;
export declare function emptyDirectory(dir: string): Promise<void>;
export declare function relativeDirectoryForDisplay(relativeDirectory: string): string;
export declare function format(content: string, { as: parser }: {
    as: BuiltInParserName;
}): Promise<string>;
export declare function mergeDependencies(first?: Record<string, string>, second?: Record<string, string>): Record<string, string>;
export declare function mergeWorkspaceAndProjectPackageJsons(projectPackageJson: Record<string, unknown>, workspacePackageJson: Record<string, unknown>): Record<string, unknown>;
//# sourceMappingURL=shared.d.ts.map