import { OptionEntry } from './optionEntry'; import { Schedule } from './schedule'; /** * Optionality Schedule represents a class for creation of schedules for optionality (call, put) */ export interface OptionalitySchedule extends Schedule { /** * The exercise type of the optionality schedule (American or European). For American type, the bond is perpetually callable from a given exercise date until it matures, or the next date in the schedule. For European type, the bond is only callable on a given exercise date. Supported string (enumeration) values are: [European, American]. */ exerciseType?: string | null; /** * The dates at which the bond call/put may be actioned, and associated strikes. */ optionEntries?: Array | null; /** * Type of optionality for the schedule. Supported string (enumeration) values are: [Call, Put]. */ optionType?: string | null; /** * The available values are: FixedSchedule, FloatSchedule, OptionalitySchedule, StepSchedule, Exercise, FxRateSchedule, Invalid */ scheduleType: OptionalitySchedule.ScheduleTypeEnum; } export declare namespace OptionalitySchedule { type ScheduleTypeEnum = 'FixedSchedule' | 'FloatSchedule' | 'OptionalitySchedule' | 'StepSchedule' | 'Exercise' | 'FxRateSchedule' | 'Invalid'; const ScheduleTypeEnum: { FixedSchedule: ScheduleTypeEnum; FloatSchedule: ScheduleTypeEnum; OptionalitySchedule: ScheduleTypeEnum; StepSchedule: ScheduleTypeEnum; Exercise: ScheduleTypeEnum; FxRateSchedule: ScheduleTypeEnum; Invalid: ScheduleTypeEnum; }; }