export declare const ensureSlash: (filepath: any, needsSlash: boolean) => any;
export declare const root: string;
export declare const resolveApp: (to: string) => string;
export declare const resolveOwn: (to: string) => string;
export interface Paths {
    root: string;
    templates: string;
    packageJson: string;
    servedPath: (base: string) => string;
    docz: string;
    app: string;
    cache: string;
    appPublic: string;
    appNodeModules: string;
    appPackageJson: string;
    appYarnLock: string;
    ownNodeModules: string;
    getDist: (dest: string) => string;
    distPublic: (dest: string) => string;
    importsJs: string;
    rootJs: string;
    indexJs: string;
    indexHtml: string;
    db: string;
}
export declare const templates: string;
export declare const packageJson: string;
export declare const servedPath: (base: string) => any;
export declare const docz: string;
export declare const app: string;
export declare const cache: string;
export declare const appPublic: string;
export declare const appNodeModules: string;
export declare const appPackageJson: string;
export declare const appYarnLock: string;
export declare const ownNodeModules: string;
export declare const getDist: (dest: string) => string;
export declare const distPublic: (dest: string) => string;
export declare const importsJs: string;
export declare const rootJs: string;
export declare const indexJs: string;
export declare const indexHtml: string;
export declare const db: string;
