/**
 * Produce rpm packages.
 */
export class RPM extends Packager {
    static get description(): string;
    static get fileNameExtension(): string;
    /**
     * @see https://rpm-packaging-guide.github.io
     */
    static attributes: {
        Name: {
            alias: string;
            mandatory: boolean;
            type: string;
            isKey: boolean;
            writable: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        Summary: {
            alias: string;
            mandatory: boolean;
            type: string;
            isKey: boolean;
            writable: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        License: {
            alias: string;
            mandatory: boolean;
            type: string;
            isKey: boolean;
            writable: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        Version: {
            alias: string;
            mandatory: boolean;
            set: (v: any) => any;
            type: string;
            isKey: boolean;
            writable: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            get?: Function;
            env?: string[] | string;
        };
        Release: {
            alias: string;
            default: number;
            mandatory: boolean;
            type: string;
            isKey: boolean;
            writable: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        Source0: {
            alias: string;
            type: string;
            isKey: boolean;
            writable: boolean;
            mandatory: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        Group: {
            alias: string;
            type: string;
            isKey: boolean;
            writable: boolean;
            mandatory: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        Packager: {
            alias: string;
            type: string;
            isKey: boolean;
            writable: boolean;
            mandatory: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        Vendor: {
            alias: string;
            type: string;
            isKey: boolean;
            writable: boolean;
            mandatory: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        BuildArch: {
            alias: string;
            default: string;
            mandatory: boolean;
            type: string;
            isKey: boolean;
            writable: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        URL: {
            alias: string;
            type: string;
            isKey: boolean;
            writable: boolean;
            mandatory: boolean;
            collection: boolean;
            private?: boolean;
            depends?: string;
            description?: string;
            default?: any;
            set?: Function;
            get?: Function;
            env?: string[] | string;
        };
        Requires: import("pacc").AttributeDefinition;
        Obsoletes: import("pacc").AttributeDefinition;
        Conflicts: import("pacc").AttributeDefinition;
    };
    static get workspaceLayout(): {
        named: {
            staging: string;
        };
        others: string[];
    };
    /**
     * Check for rpmbuild presence.
     * @param {Object} options
     * @param {Object} variant
     * @param {string} variant.arch
     * @returns {Promise<boolean>} true when rpmbuild executable is present
     */
    static prepare(options: any, variant: {
        arch: string;
    }): Promise<boolean>;
    get packageFileName(): string;
    dependencyExpression(name: any, expression: any): string;
    /**
     * Map install hook named from default (arch) to rpm.
     */
    get hookMapping(): {
        pre_install: string;
        post_install: string;
        pre_remove: string;
        post_remove: string;
    };
    create(sources: any, transformer: any, publishingDetails: any, options: any, expander: any): Promise<string>;
}
export type PublishingDetail = import("../publish.mjs").PublishingDetail;
import { Packager } from "./packager.mjs";
