/// <reference types="node" />
import { ISecAltIDGrp } from './sec_alt_id_grp';
import { ISecurityXML } from './security_xml';
import { IEvntGrp } from './evnt_grp';
import { IInstrumentParties } from './instrument_parties';
import { IComplexEvents } from './complex_events';
export interface IInstrument {
    Symbol?: string;
    SymbolSfx?: string;
    SecurityID?: string;
    SecurityIDSource?: string;
    SecAltIDGrp?: ISecAltIDGrp[];
    Product?: number;
    ProductComplex?: string;
    SecurityGroup?: string;
    CFICode?: string;
    SecurityType?: string;
    SecuritySubType?: string;
    MaturityMonthYear?: string;
    MaturityDate?: Date;
    MaturityTime?: string;
    SettleOnOpenFlag?: string;
    InstrmtAssignmentMethod?: string;
    SecurityStatus?: string;
    CouponPaymentDate?: Date;
    IssueDate?: Date;
    RepoCollateralSecurityType?: string;
    RepurchaseTerm?: number;
    RepurchaseRate?: number;
    Factor?: number;
    CreditRating?: string;
    InstrRegistry?: string;
    CountryOfIssue?: string;
    StateOrProvinceOfIssue?: string;
    LocaleOfIssue?: string;
    RedemptionDate?: Date;
    StrikePrice?: number;
    StrikeCurrency?: string;
    StrikeMultiplier?: number;
    StrikeValue?: number;
    OptAttribute?: string;
    ContractMultiplier?: number;
    MinPriceIncrement?: number;
    MinPriceIncrementAmount?: number;
    UnitOfMeasure?: string;
    UnitOfMeasureQty?: number;
    PriceUnitOfMeasure?: string;
    PriceUnitOfMeasureQty?: number;
    SettlMethod?: string;
    ExerciseStyle?: number;
    OptPayoutAmount?: number;
    PriceQuoteMethod?: string;
    ValuationMethod?: string;
    ListMethod?: number;
    CapPrice?: number;
    FloorPrice?: number;
    PutOrCall?: number;
    FlexibleIndicator?: boolean;
    FlexProductEligibilityIndicator?: boolean;
    TimeUnit?: string;
    CouponRate?: number;
    SecurityExchange?: string;
    PositionLimit?: number;
    NTPositionLimit?: number;
    Issuer?: string;
    EncodedIssuerLen?: number;
    EncodedIssuer?: Buffer;
    SecurityDesc?: string;
    EncodedSecurityDescLen?: number;
    EncodedSecurityDesc?: Buffer;
    SecurityXML?: ISecurityXML;
    Pool?: string;
    ContractSettlMonth?: string;
    CPProgram?: number;
    CPRegType?: string;
    EvntGrp?: IEvntGrp[];
    DatedDate?: Date;
    InterestAccrualDate?: Date;
    InstrumentParties?: IInstrumentParties[];
    ContractMultiplierUnit?: number;
    FlowScheduleType?: number;
    RestructuringType?: string;
    Seniority?: string;
    NotionalPercentageOutstanding?: number;
    OriginalNotionalPercentageOutstanding?: number;
    AttachmentPoint?: number;
    DetachmentPoint?: number;
    StrikePriceDeterminationMethod?: number;
    StrikePriceBoundaryMethod?: number;
    StrikePriceBoundaryPrecision?: number;
    UnderlyingPriceDeterminationMethod?: number;
    OptPayoutType?: number;
    ComplexEvents?: IComplexEvents[];
}
