export type BuildMode = "release" | "debug";
export type ConfigFlags = string | string[];
export interface SwiftPMBuilder {
    type?: "swiftpm";
    settings?: ConfigFlags;
    triple?: string;
}
export interface XcodeBuilder {
    type: "xcode";
    settings?: ConfigFlags;
    destinations?: string[];
}
export type Builder = SwiftPMBuilder | XcodeBuilder;
export interface Config {
    buildPath?: string;
    packagePath?: string;
    product?: string;
    napi?: number | "experimental";
    static?: boolean;
    cFlags?: ConfigFlags;
    swiftFlags?: ConfigFlags;
    cxxFlags?: ConfigFlags;
    linkerFlags?: ConfigFlags;
    dumpFlags?: ConfigFlags;
    builder?: Builder | Builder["type"];
}
export declare function clean(config?: Config): Promise<void>;
export declare function build(mode: BuildMode, config?: Config): Promise<string>;
