import { SDK_Base } from 'sdk/client/base';
import { SDK_Execution } from 'sdk/interfaces/sdk-execution';
import { SDK_UpdatePropertyManager_Body_Dto, SDK_UpdatePropertyManager_Response } from './types';
import { SDK_Context } from 'sdk/client/client';
export declare class SDK_PropertyManagers_Update extends SDK_Base implements SDK_Execution {
    private propertyManagerId;
    private payload;
    constructor(ctx: SDK_Context, propertyManagerId: number, payload?: SDK_UpdatePropertyManager_Body_Dto);
    /**
     * Sets the name of the property manager.
     * @param name - The name to assign to the property manager.
     * @returns The current instance for chaining.
     */
    withName(name: string): this;
    /**
     * Sets the onboarding cost per unit for the property manager.
     * @param onboardingPerUnit - Onboarding cost per unit (e.g., in dollars).
     * @returns The current instance for chaining.
     */
    withOnboardingPerUnit(onboardingPerUnit: number): this;
    /**
     * Sets the reserve amount per unit for the property manager.
     * @param reservePerUnit - Reserve amount required per unit.
     * @returns The current instance for chaining.
     */
    withReservePerUnit(reservePerUnit: number): this;
    /**
     * Sets the fees percentage for the property manager.
     * @param feesPercentage - Percentage of fees applicable.
     * @returns The current instance for chaining.
     */
    withFeesPercentage(feesPercentage: number): this;
    /**
     * Executes the propertyManager update with all configured values
     * @returns Promise resolving to the update response
     */
    execute(): Promise<SDK_UpdatePropertyManager_Response>;
    private clonePayload;
    private resetPayload;
}
