import { SDK_Base } from 'sdk/client/base';
import { SDK_Execution } from 'sdk/interfaces/sdk-execution';
import { SDK_UpdateOwner_Body_Dto, SDK_UpdateOwner_Response } from './types';
import { SDK_Context } from 'sdk/client/client';
export declare class SDK_Owner_Update extends SDK_Base implements SDK_Execution {
    private ownerId;
    private payload;
    constructor(ctx: SDK_Context, ownerId: number, payload?: SDK_UpdateOwner_Body_Dto);
    /**
     * Sets the name of the owner.
     * @param name - The name to assign to the owner.
     * @returns The current instance for chaining.
     */
    withName(name: string): this;
    /**
     * Sets the minimum Simply acquisition fee for the owner.
     * @param simplyMinAcquisitionFee - The minimum acquisition fee (in percentage or currency units).
     * @returns The current instance for chaining.
     */
    withSimplyMinAcquisitionFee(simplyMinAcquisitionFee: number): this;
    /**
     * Sets the maximum Simply acquisition fee for the owner.
     * @param simplyMaxAcquisitionFee - The maximum acquisition fee (in percentage or currency units).
     * @returns The current instance for chaining.
     */
    withSimplyMaxAcquisitionFee(simplyMaxAcquisitionFee: number): this;
    /**
     * Sets the required startup reserves per unit for the owner.
     * @param requiredStartupReservesPerUnit - Reserve amount required per unit.
     * @returns The current instance for chaining.
     */
    withRequiredStartupReservesPerUnit(requiredStartupReservesPerUnit: number): this;
    /**
     * Sets the insurance percentage for the owner.
     * @param insurancePercentage - The insurance cost percentage.
     * @returns The current instance for chaining.
     */
    withInsurancePercentage(insurancePercentage: number): this;
    /**
     * Sets the Simply acquisition percentage for the owner.
     * @param simplyAcquisitionPercentage - The acquisition fee percentage.
     * @returns The current instance for chaining.
     */
    withSimplyAcquisitionPercentage(simplyAcquisitionPercentage: number): this;
    /**
     * Sets the Simply renovation management fee percentage for the owner.
     * @param simplyRenovationManagementFeePercentage - The renovation management fee percentage.
     * @returns The current instance for chaining.
     */
    withSimplyRenovationManagementFeePercentage(simplyRenovationManagementFeePercentage: number): this;
    /**
     * Executes the owner update with all configured values
     * @returns Promise resolving to the update response
     */
    execute(): Promise<SDK_UpdateOwner_Response>;
    private clonePayload;
    private resetPayload;
}
