import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
import { CreatePermitRequest } from "../../typings/recurring/models";
import { CreatePermitResult } from "../../typings/recurring/models";
import { DisablePermitRequest } from "../../typings/recurring/models";
import { DisablePermitResult } from "../../typings/recurring/models";
import { DisableRequest } from "../../typings/recurring/models";
import { DisableResult } from "../../typings/recurring/models";
import { NotifyShopperRequest } from "../../typings/recurring/models";
import { NotifyShopperResult } from "../../typings/recurring/models";
import { RecurringDetailsRequest } from "../../typings/recurring/models";
import { RecurringDetailsResult } from "../../typings/recurring/models";
import { ScheduleAccountUpdaterRequest } from "../../typings/recurring/models";
import { ScheduleAccountUpdaterResult } from "../../typings/recurring/models";
/**
 * API handler for RecurringApi
 */
export declare class RecurringApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Create new permits linked to a recurring contract.
    * @param createPermitRequest {@link CreatePermitRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link CreatePermitResult }
    *
    * @deprecated since Adyen Recurring API v68
    */
    createPermit(createPermitRequest: CreatePermitRequest, requestOptions?: IRequest.Options): Promise<CreatePermitResult>;
    /**
    * @summary Disable stored payment details
    * @param disableRequest {@link DisableRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link DisableResult }
    */
    disable(disableRequest: DisableRequest, requestOptions?: IRequest.Options): Promise<DisableResult>;
    /**
    * @summary Disable an existing permit.
    * @param disablePermitRequest {@link DisablePermitRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link DisablePermitResult }
    *
    * @deprecated since Adyen Recurring API v68
    */
    disablePermit(disablePermitRequest: DisablePermitRequest, requestOptions?: IRequest.Options): Promise<DisablePermitResult>;
    /**
    * @summary Get stored payment details
    * @param recurringDetailsRequest {@link RecurringDetailsRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link RecurringDetailsResult }
    */
    listRecurringDetails(recurringDetailsRequest: RecurringDetailsRequest, requestOptions?: IRequest.Options): Promise<RecurringDetailsResult>;
    /**
    * @summary Ask issuer to notify the shopper
    * @param notifyShopperRequest {@link NotifyShopperRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link NotifyShopperResult }
    */
    notifyShopper(notifyShopperRequest: NotifyShopperRequest, requestOptions?: IRequest.Options): Promise<NotifyShopperResult>;
    /**
    * @summary Schedule running the Account Updater
    * @param scheduleAccountUpdaterRequest {@link ScheduleAccountUpdaterRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ScheduleAccountUpdaterResult }
    */
    scheduleAccountUpdater(scheduleAccountUpdaterRequest: ScheduleAccountUpdaterRequest, requestOptions?: IRequest.Options): Promise<ScheduleAccountUpdaterResult>;
}
