/// <reference types="node" />
import { ISecAltIDGrp } from './sec_alt_id_grp';
import { ISecondaryAssetGrp } from './secondary_asset_grp';
import { IAssetAttributeGrp } from './asset_attribute_grp';
import { ISecurityXML } from './security_xml';
import { IEvntGrp } from './evnt_grp';
import { IInstrumentParties } from './instrument_parties';
import { IComplexEvents } from './complex_events';
import { IDateAdjustment } from './date_adjustment';
import { IPricingDateTime } from './pricing_date_time';
import { IMarketDisruption } from './market_disruption';
import { IOptionExercise } from './option_exercise';
import { IStreamGrp } from './stream_grp';
import { IProvisionGrp } from './provision_grp';
import { IAdditionalTermGrp } from './additional_term_grp';
import { IProtectionTermGrp } from './protection_term_grp';
import { ICashSettlTermGrp } from './cash_settl_term_grp';
import { IPhysicalSettlTermGrp } from './physical_settl_term_grp';
import { IExtraordinaryEventGrp } from './extraordinary_event_grp';
export interface IInstrument {
    Symbol?: string;
    SymbolSfx?: string;
    SecurityID?: string;
    SecurityIDSource?: string;
    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;
    RestructuringType?: string;
    Seniority?: string;
    NotionalPercentageOutstanding?: number;
    OriginalNotionalPercentageOutstanding?: number;
    AttachmentPoint?: number;
    DetachmentPoint?: number;
    ObligationType?: string;
    AssetGroup?: number;
    AssetClass?: number;
    AssetSubClass?: number;
    AssetType?: string;
    SwapClass?: string;
    SwapSubClass?: string;
    NthToDefault?: number;
    MthToDefault?: number;
    SettledEntityMatrixSource?: string;
    SettledEntityMatrixPublicationDate?: Date;
    CouponType?: number;
    TotalIssuedAmount?: number;
    CouponFrequencyPeriod?: number;
    CouponFrequencyUnit?: string;
    CouponDayCount?: number;
    ConvertibleBondEquityID?: string;
    ConvertibleBondEquityIDSource?: string;
    ContractPriceRefMonth?: string;
    LienSeniority?: number;
    LoanFacility?: number;
    ReferenceEntityType?: number;
    IndexSeries?: number;
    IndexAnnexVersion?: number;
    IndexAnnexDate?: Date;
    IndexAnnexSource?: string;
    SettlRateIndex?: string;
    SettlRateIndexLocation?: string;
    OptionExpirationDesc?: string;
    EncodedOptionExpirationDescLen?: number;
    EncodedOptionExpirationDesc?: Buffer;
    IssueDate?: Date;
    RepoCollateralSecurityType?: string;
    RepurchaseTerm?: number;
    RepurchaseRate?: number;
    Factor?: number;
    CreditRating?: string;
    InstrRegistry?: string;
    CountryOfIssue?: string;
    StateOrProvinceOfIssue?: string;
    LocaleOfIssue?: string;
    RedemptionDate?: Date;
    StrikePrice?: number;
    OrigStrikePrice?: number;
    StrikePricePrecision?: number;
    StrikeCurrency?: string;
    StrikeMultiplier?: number;
    StrikeValue?: number;
    StrikeUnitOfMeasure?: string;
    StrikeIndex?: string;
    StrikeIndexCurvePoint?: string;
    StrikeIndexSpread?: number;
    StrikeIndexQuote?: number;
    StrikePriceDeterminationMethod?: number;
    StrikePriceBoundaryMethod?: number;
    StrikePriceBoundaryPrecision?: number;
    UnderlyingPriceDeterminationMethod?: number;
    OptAttribute?: string;
    ContractMultiplier?: number;
    ContractMultiplierUnit?: number;
    TradingUnitPeriodMultiplier?: number;
    FlowScheduleType?: number;
    MinPriceIncrement?: number;
    MinPriceIncrementAmount?: number;
    UnitOfMeasure?: string;
    UnitOfMeasureQty?: number;
    UnitOfMeasureCurrency?: string;
    PriceUnitOfMeasure?: string;
    PriceUnitOfMeasureQty?: number;
    PriceUnitOfMeasureCurrency?: string;
    SettlMethod?: string;
    SettlSubMethod?: number;
    ExerciseStyle?: number;
    OptPayoutType?: number;
    OptPayoutAmount?: number;
    PriceQuoteMethod?: string;
    ValuationMethod?: string;
    ValuationSource?: string;
    ValuationReferenceModel?: string;
    PriceQuoteCurrency?: string;
    ListMethod?: number;
    CapPrice?: number;
    FloorPrice?: number;
    PutOrCall?: number;
    InTheMoneyCondition?: number;
    ContraryInstructionEligibilityIndicator?: boolean;
    FlexibleIndicator?: boolean;
    FlexProductEligibilityIndicator?: boolean;
    BlockTradeEligibilityIndicator?: boolean;
    LowExercisePriceOptionIndicator?: boolean;
    TimeUnit?: string;
    CouponRate?: number;
    SecurityExchange?: string;
    PositionLimit?: number;
    NTPositionLimit?: number;
    Issuer?: string;
    EncodedIssuerLen?: number;
    EncodedIssuer?: Buffer;
    SecurityDesc?: string;
    EncodedSecurityDescLen?: number;
    EncodedSecurityDesc?: Buffer;
    Pool?: string;
    ContractSettlMonth?: string;
    CPProgram?: number;
    CPRegType?: string;
    DatedDate?: Date;
    InterestAccrualDate?: Date;
    ShortSaleRestriction?: number;
    RefTickTableID?: number;
    StrategyType?: string;
    CommonPricingIndicator?: boolean;
    SettlDisruptionProvision?: number;
    InstrumentRoundingDirection?: string;
    InstrumentRoundingPrecision?: number;
    InstrumentPricePrecision?: number;
    ExtraordinaryEventAdjustmentMethod?: number;
    ExchangeLookAlike?: boolean;
    SecAltIDGrp?: ISecAltIDGrp[];
    SecondaryAssetGrp?: ISecondaryAssetGrp[];
    AssetAttributeGrp?: IAssetAttributeGrp[];
    SecurityXML?: ISecurityXML;
    EvntGrp?: IEvntGrp[];
    InstrumentParties?: IInstrumentParties[];
    ComplexEvents?: IComplexEvents[];
    DateAdjustment?: IDateAdjustment;
    PricingDateTime?: IPricingDateTime;
    MarketDisruption?: IMarketDisruption;
    OptionExercise?: IOptionExercise;
    StreamGrp?: IStreamGrp[];
    ProvisionGrp?: IProvisionGrp[];
    AdditionalTermGrp?: IAdditionalTermGrp[];
    ProtectionTermGrp?: IProtectionTermGrp[];
    CashSettlTermGrp?: ICashSettlTermGrp[];
    PhysicalSettlTermGrp?: IPhysicalSettlTermGrp[];
    ExtraordinaryEventGrp?: IExtraordinaryEventGrp[];
}
