import { ProcessorDayOff } from "../../../common/ProcessorDayOff";
/**
 * Funds Transfer Profile
 * @see "Section 11.13.2.2 OFX Spec"
 */
export declare class TransferProfile {
    private processorDaysOff;
    private processEndTime;
    private supportsScheduledTransfers;
    private supportsRecurringTransfers;
    private supportsLoanTransfers;
    private supportsScheduledLoanTransfers;
    private supportsRecurringLoanTransfers;
    private supportsTransferModification;
    private supportsModelModification;
    private modelWindow;
    private withdrawnDays;
    private defaultDaysToPay;
    /**
     * Days of week that no processing occurs: MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
     * FRIDAY, SATURDAY, or SUNDAY. 0 or more <PROCDAYSOFF> can be sent.
     * @return List of days during the week that no processing occurs.
     */
    getProcessorDaysOff(): Array<ProcessorDayOff>;
    setProcessorDaysOff(processorDaysOff: Array<ProcessorDayOff>): void;
    /**
     * Gets time of day that day's processing ends.
     *
     * Time formatted as "HHMMSS.XXX[gmt offset[:tz name]]",
     * the milliseconds and time zone are still optional, and default to GMT.
     * @see "Section 3.2.8.3 OFX Spec"
     * @return Time String formatted as "HHMMSS.XXX[gmt offset[:tz name]]"
     */
    getProcessEndTime(): string;
    /**
     * Sets the time of day that day's processing ends.
     *
     * Time formatted as "HHMMSS.XXX[gmt offset[:tz name]]",
     * the milliseconds and time zone are still optional, and default to GMT.
  
     * @see "Section 3.2.8.3 OFX Spec"
     * @param processEndTime formatted as "HHMMSS.XXX[gmt offset[:tz name]]"
     */
    setProcessEndTime(processEndTime: string): void;
    getSupportsScheduledTransfers(): boolean;
    setSupportsScheduledTransfers(supportsScheduledTransfers: boolean): void;
    /**
     * Requires <CANSCHED>
     * @return Boolean whether supports recurring transfers
     */
    getSupportsRecurringTransfers(): boolean;
    setSupportsRecurringTransfers(supportsRecurringTransfers: boolean): void;
    /**
     * <CANLOAN>Y must be present for transfers to involve loans
     * @return Boolean whether supports loan transfers
     */
    getSupportsLoanTransfers(): boolean;
    setSupportsLoanTransfers(supportsLoanTransfers: boolean): void;
    getSupportsScheduledLoanTransfers(): boolean;
    setSupportsScheduledLoanTransfers(supportsScheduledLoanTransfers: boolean): void;
    getSupportsRecurringLoanTransfers(): boolean;
    setSupportsRecurringLoanTransfers(supportsRecurringLoanTransfers: boolean): void;
    getSupportsTransferModification(): boolean;
    setSupportsTransferModification(supportsTransferModification: boolean): void;
    getSupportsModelModification(): boolean;
    setSupportsModelModification(supportsModelModification: boolean): void;
    /**
     * Model window
     * the number of days before a recurring transaction is scheduled to be processed that it is
     * instantiated on the system
     * @return Number number of days before a recurring transaction is scheduled to be processed that it is instantiated on the system
     */
    getModelWindow(): number;
    setModelWindow(modelWindow: number): void;
    /**
     * Number of days before processing date that funds are withdrawn
     * @return Number number of days before processing date that funds are withdrawn
     */
    getWithdrawnDays(): number;
    setWithdrawnDays(withdrawnDays: number): void;
    /**
     * Default number of days to pay
     * @return Number Default number of days to pay
     */
    getDefaultDaysToPay(): number;
    setDefaultDaysToPay(defaultDaysToPay: number): void;
}
