/// <reference types="node" resolution-mode="require"/>
/// <reference types="node" resolution-mode="require"/>
import * as os from 'os';
import { Liquid } from 'liquidjs';
import { Logger } from '@xpack/logger';
export interface Properties {
    [key: string]: string | string[];
}
export interface XpmLiquidMap {
    env: NodeJS.ProcessEnv;
    os: {
        EOL: string;
        arch: string;
        constants: {
            signals: {
                [key: string]: number;
            };
            errno: {
                [key: string]: number;
            };
        };
        cpus: os.CpuInfo[];
        endianness: 'BE' | 'LE';
        homedir: string;
        hostname: string;
        platform: NodeJS.Platform;
        release: string;
        tmpdir: string;
        type: string;
        version: string;
    };
    path: {
        delimiter: string;
        sep: string;
        win32: {
            delimiter: string;
            sep: string;
        };
        posix: {
            delimiter: string;
            sep: string;
        };
    };
    package?: any;
    configuration?: {
        name: string;
        [key: string]: any;
    };
    properties?: Properties;
}
export declare function filterPath(input: string): string;
export declare function filterPosixPath(input: string): string;
export declare function filterWin32Path(input: string): string;
export declare class XpmLiquid {
    readonly log: Logger;
    readonly engine: Liquid;
    constructor(log: Logger);
    prepareMap(packageJson: any, buildConfigurationName?: string): XpmLiquidMap;
    performSubstitutions(input: string, map: XpmLiquidMap): Promise<string>;
}
//# sourceMappingURL=xpm-liquid.d.ts.map