import { IWeb } from '@pnp/sp/presets/all';
import { IProvisioningConfig } from '../provisioningconfig';
import { ProvisioningContext } from '../provisioningcontext';
import { Handler } from './exports';
/**
 * Describes the Object Handler Base
 */
export declare class HandlerBase {
    config: IProvisioningConfig;
    private name;
    /**
     * Creates a new instance of the ObjectHandlerBase class
     *
     * @param name - Name
     * @param config - Config
     */
    constructor(name: Handler, config?: IProvisioningConfig);
    /**
     * Provisioning objects
     */
    ProvisionObjects(web: IWeb, templatePart: any, _context?: ProvisioningContext): Promise<void>;
    /**
     * Writes to Logger when scope has started
     */
    scope_started(): void;
    /**
     * Writes to Logger when scope has stopped
     *
     * @param error - Error
     */
    scope_ended(error?: Error): void;
    /**
     * Writes to Logger
     *
     * @param scope - Scope
     * @param message - Message
     * @param data - Data
     */
    log_info(scope: string, message: string, data?: any): void;
    /**
     * Writes a warning to the logger
     *
     * @param scope - Scope
     * @param message - Message
     * @param data - Data
     */
    log_warn(scope: string, message: string, data?: any): void;
    /**
     * Writes an error to the logger
     *
     * @param scope - Scope
     * @param message - Message
     * @param data - Data
     */
    log_error(scope: string, message: string, data?: any): void;
}
