/// <reference types="node" />
/// <reference types="node" />
import { QlikSaaSClient } from "qlik-rest-api";
import { BrandActions } from "./BrandActions";
import { BrandFile, IBrandFile } from "./BrandFile";
export interface IBrand {
    id: string;
    active: boolean;
    name: string;
    description: string;
    createdBy: string;
    updatedBy: string;
    createdAt: string;
    updatedAt: string;
    files: BrandFile[];
}
export interface IBrandResponse {
    id: string;
    active: boolean;
    name: string;
    description: string;
    createdBy: string;
    updatedBy: string;
    createdAt: string;
    updatedAt: string;
    files: IBrandFile[];
}
export interface IBrandUpdate {
    path: "name" | "description";
    value: string;
    op: "replace" | "add" | "renew";
}
export declare class Brand {
    #private;
    details: IBrand;
    _actions: BrandActions;
    constructor(saasClient: QlikSaaSClient, id: string, details?: IBrand);
    init(arg?: {
        force: true;
    }): Promise<void>;
    /**
     * Deletes the current brand
     */
    remove(): Promise<number>;
    /**
     * Updates the name or the description of the current brand
     */
    update(arg: IBrandUpdate[]): Promise<number>;
    /**
     * Adds file to the existing brand
     */
    addFile(arg: {
        /**
         * The binary content of the file
         */
        file: Buffer | string;
        /**
         * the possible options are: logo OR styles OR favIcon
         */
        id: "logo" | "styles" | "favIcon";
    }): Promise<number>;
}
