// Generated from Fairmint/OpenCapTable/Issuer.daml
/* eslint-disable @typescript-eslint/camelcase */
/* eslint-disable @typescript-eslint/no-namespace */
/* eslint-disable @typescript-eslint/no-use-before-define */
import * as jtv from '@mojotech/json-type-validation';
import * as damlTypes from '@daml/types';
/* eslint-disable-next-line @typescript-eslint/no-unused-vars */
import * as damlLedger from '@daml/ledger';

import * as pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 from '../../../DA/Internal/Template';

import * as Fairmint_OpenCapTable_ConvertibleAcceptance from '../../../Fairmint/OpenCapTable/ConvertibleAcceptance/module';
import * as Fairmint_OpenCapTable_ConvertibleCancellation from '../../../Fairmint/OpenCapTable/ConvertibleCancellation/module';
import * as Fairmint_OpenCapTable_ConvertibleConversion from '../../../Fairmint/OpenCapTable/ConvertibleConversion/module';
import * as Fairmint_OpenCapTable_ConvertibleIssuance from '../../../Fairmint/OpenCapTable/ConvertibleIssuance/module';
import * as Fairmint_OpenCapTable_ConvertibleRetraction from '../../../Fairmint/OpenCapTable/ConvertibleRetraction/module';
import * as Fairmint_OpenCapTable_ConvertibleTransfer from '../../../Fairmint/OpenCapTable/ConvertibleTransfer/module';
import * as Fairmint_OpenCapTable_Document from '../../../Fairmint/OpenCapTable/Document/module';
import * as Fairmint_OpenCapTable_EquityCompensationAcceptance from '../../../Fairmint/OpenCapTable/EquityCompensationAcceptance/module';
import * as Fairmint_OpenCapTable_EquityCompensationCancellation from '../../../Fairmint/OpenCapTable/EquityCompensationCancellation/module';
import * as Fairmint_OpenCapTable_EquityCompensationExercise from '../../../Fairmint/OpenCapTable/EquityCompensationExercise/module';
import * as Fairmint_OpenCapTable_EquityCompensationIssuance from '../../../Fairmint/OpenCapTable/EquityCompensationIssuance/module';
import * as Fairmint_OpenCapTable_EquityCompensationRelease from '../../../Fairmint/OpenCapTable/EquityCompensationRelease/module';
import * as Fairmint_OpenCapTable_EquityCompensationRepricing from '../../../Fairmint/OpenCapTable/EquityCompensationRepricing/module';
import * as Fairmint_OpenCapTable_EquityCompensationRetraction from '../../../Fairmint/OpenCapTable/EquityCompensationRetraction/module';
import * as Fairmint_OpenCapTable_EquityCompensationTransfer from '../../../Fairmint/OpenCapTable/EquityCompensationTransfer/module';
import * as Fairmint_OpenCapTable_IssuerAuthorizedSharesAdjustment from '../../../Fairmint/OpenCapTable/IssuerAuthorizedSharesAdjustment/module';
import * as Fairmint_OpenCapTable_Stakeholder from '../../../Fairmint/OpenCapTable/Stakeholder/module';
import * as Fairmint_OpenCapTable_StakeholderRelationshipChangeEvent from '../../../Fairmint/OpenCapTable/StakeholderRelationshipChangeEvent/module';
import * as Fairmint_OpenCapTable_StakeholderStatusChangeEvent from '../../../Fairmint/OpenCapTable/StakeholderStatusChangeEvent/module';
import * as Fairmint_OpenCapTable_StockAcceptance from '../../../Fairmint/OpenCapTable/StockAcceptance/module';
import * as Fairmint_OpenCapTable_StockCancellation from '../../../Fairmint/OpenCapTable/StockCancellation/module';
import * as Fairmint_OpenCapTable_StockClass from '../../../Fairmint/OpenCapTable/StockClass/module';
import * as Fairmint_OpenCapTable_StockClassAuthorizedSharesAdjustment from '../../../Fairmint/OpenCapTable/StockClassAuthorizedSharesAdjustment/module';
import * as Fairmint_OpenCapTable_StockClassConversionRatioAdjustment from '../../../Fairmint/OpenCapTable/StockClassConversionRatioAdjustment/module';
import * as Fairmint_OpenCapTable_StockClassSplit from '../../../Fairmint/OpenCapTable/StockClassSplit/module';
import * as Fairmint_OpenCapTable_StockConsolidation from '../../../Fairmint/OpenCapTable/StockConsolidation/module';
import * as Fairmint_OpenCapTable_StockConversion from '../../../Fairmint/OpenCapTable/StockConversion/module';
import * as Fairmint_OpenCapTable_StockIssuance from '../../../Fairmint/OpenCapTable/StockIssuance/module';
import * as Fairmint_OpenCapTable_StockLegendTemplate from '../../../Fairmint/OpenCapTable/StockLegendTemplate/module';
import * as Fairmint_OpenCapTable_StockPlan from '../../../Fairmint/OpenCapTable/StockPlan/module';
import * as Fairmint_OpenCapTable_StockPlanPoolAdjustment from '../../../Fairmint/OpenCapTable/StockPlanPoolAdjustment/module';
import * as Fairmint_OpenCapTable_StockPlanReturnToPool from '../../../Fairmint/OpenCapTable/StockPlanReturnToPool/module';
import * as Fairmint_OpenCapTable_StockReissuance from '../../../Fairmint/OpenCapTable/StockReissuance/module';
import * as Fairmint_OpenCapTable_StockRepurchase from '../../../Fairmint/OpenCapTable/StockRepurchase/module';
import * as Fairmint_OpenCapTable_StockRetraction from '../../../Fairmint/OpenCapTable/StockRetraction/module';
import * as Fairmint_OpenCapTable_StockTransfer from '../../../Fairmint/OpenCapTable/StockTransfer/module';
import * as Fairmint_OpenCapTable_Types from '../../../Fairmint/OpenCapTable/Types/module';
import * as Fairmint_OpenCapTable_VestingAcceleration from '../../../Fairmint/OpenCapTable/VestingAcceleration/module';
import * as Fairmint_OpenCapTable_VestingEvent from '../../../Fairmint/OpenCapTable/VestingEvent/module';
import * as Fairmint_OpenCapTable_VestingStart from '../../../Fairmint/OpenCapTable/VestingStart/module';
import * as Fairmint_OpenCapTable_VestingTerms from '../../../Fairmint/OpenCapTable/VestingTerms/module';
import * as Fairmint_OpenCapTable_WarrantAcceptance from '../../../Fairmint/OpenCapTable/WarrantAcceptance/module';
import * as Fairmint_OpenCapTable_WarrantCancellation from '../../../Fairmint/OpenCapTable/WarrantCancellation/module';
import * as Fairmint_OpenCapTable_WarrantExercise from '../../../Fairmint/OpenCapTable/WarrantExercise/module';
import * as Fairmint_OpenCapTable_WarrantIssuance from '../../../Fairmint/OpenCapTable/WarrantIssuance/module';
import * as Fairmint_OpenCapTable_WarrantRetraction from '../../../Fairmint/OpenCapTable/WarrantRetraction/module';
import * as Fairmint_OpenCapTable_WarrantTransfer from '../../../Fairmint/OpenCapTable/WarrantTransfer/module';

export declare type OcfInitialSharesAuthorized =
  |  { tag: 'OcfInitialSharesNumeric'; value: damlTypes.Numeric }
  |  { tag: 'OcfInitialSharesEnum'; value: OcfAuthorizedShares }
;

export declare const OcfInitialSharesAuthorized:
  damlTypes.Serializable<OcfInitialSharesAuthorized> & {
  }
;


export declare type OcfAuthorizedShares =
  | 'OcfAuthorizedSharesNotApplicable'
  | 'OcfAuthorizedSharesUnlimited'
;

export declare const OcfAuthorizedShares:
  damlTypes.Serializable<OcfAuthorizedShares> & {
  }
& { readonly keys: OcfAuthorizedShares[] } & { readonly [e in OcfAuthorizedShares]: e }
;


export declare type OcfIssuerData = {
  id: string;
  country_of_formation: string;
  formation_date: damlTypes.Time;
  legal_name: string;
  comments: string[];
  tax_ids: Fairmint_OpenCapTable_Types.OcfTaxID[];
  address: damlTypes.Optional<Fairmint_OpenCapTable_Types.OcfAddress>;
  country_subdivision_of_formation: damlTypes.Optional<string>;
  country_subdivision_name_of_formation: damlTypes.Optional<string>;
  dba: damlTypes.Optional<string>;
  email: damlTypes.Optional<Fairmint_OpenCapTable_Types.OcfEmail>;
  initial_shares_authorized: damlTypes.Optional<OcfInitialSharesAuthorized>;
  phone: damlTypes.Optional<Fairmint_OpenCapTable_Types.OcfPhone>;
};

export declare const OcfIssuerData:
  damlTypes.Serializable<OcfIssuerData> & {
  }
;


export declare type ArchiveByIssuer = {
};

export declare const ArchiveByIssuer:
  damlTypes.Serializable<ArchiveByIssuer> & {
  }
;


export declare type CreateWarrantIssuance = {
  issuance_data: Fairmint_OpenCapTable_WarrantIssuance.OcfWarrantIssuanceData;
};

export declare const CreateWarrantIssuance:
  damlTypes.Serializable<CreateWarrantIssuance> & {
  }
;


export declare type CreateWarrantRetraction = {
  retraction_data: Fairmint_OpenCapTable_WarrantRetraction.OcfWarrantRetractionTxData;
};

export declare const CreateWarrantRetraction:
  damlTypes.Serializable<CreateWarrantRetraction> & {
  }
;


export declare type CreateWarrantTransfer = {
  transfer_data: Fairmint_OpenCapTable_WarrantTransfer.OcfWarrantTransferTxData;
};

export declare const CreateWarrantTransfer:
  damlTypes.Serializable<CreateWarrantTransfer> & {
  }
;


export declare type CreateWarrantExercise = {
  exercise_data: Fairmint_OpenCapTable_WarrantExercise.OcfWarrantExerciseTxData;
};

export declare const CreateWarrantExercise:
  damlTypes.Serializable<CreateWarrantExercise> & {
  }
;


export declare type CreateWarrantCancellation = {
  cancellation_data: Fairmint_OpenCapTable_WarrantCancellation.OcfWarrantCancellationTxData;
};

export declare const CreateWarrantCancellation:
  damlTypes.Serializable<CreateWarrantCancellation> & {
  }
;


export declare type CreateWarrantAcceptance = {
  acceptance_data: Fairmint_OpenCapTable_WarrantAcceptance.OcfWarrantAcceptanceTxData;
};

export declare const CreateWarrantAcceptance:
  damlTypes.Serializable<CreateWarrantAcceptance> & {
  }
;


export declare type CreateVestingTerms = {
  vesting_terms_data: Fairmint_OpenCapTable_VestingTerms.OcfVestingTermsData;
};

export declare const CreateVestingTerms:
  damlTypes.Serializable<CreateVestingTerms> & {
  }
;


export declare type CreateVestingStart = {
  vesting_data: Fairmint_OpenCapTable_VestingStart.OcfVestingStartTxData;
};

export declare const CreateVestingStart:
  damlTypes.Serializable<CreateVestingStart> & {
  }
;


export declare type CreateVestingEvent = {
  vesting_data: Fairmint_OpenCapTable_VestingEvent.OcfVestingEventTxData;
};

export declare const CreateVestingEvent:
  damlTypes.Serializable<CreateVestingEvent> & {
  }
;


export declare type CreateVestingAcceleration = {
  acceleration_data: Fairmint_OpenCapTable_VestingAcceleration.OcfVestingAccelerationTxData;
};

export declare const CreateVestingAcceleration:
  damlTypes.Serializable<CreateVestingAcceleration> & {
  }
;


export declare type CreateStockRetraction = {
  retraction_data: Fairmint_OpenCapTable_StockRetraction.OcfStockRetractionTxData;
};

export declare const CreateStockRetraction:
  damlTypes.Serializable<CreateStockRetraction> & {
  }
;


export declare type CreateStockTransfer = {
  transfer_data: Fairmint_OpenCapTable_StockTransfer.OcfStockTransferTxData;
};

export declare const CreateStockTransfer:
  damlTypes.Serializable<CreateStockTransfer> & {
  }
;


export declare type CreateStockRepurchase = {
  repurchase_data: Fairmint_OpenCapTable_StockRepurchase.OcfStockRepurchaseTxData;
};

export declare const CreateStockRepurchase:
  damlTypes.Serializable<CreateStockRepurchase> & {
  }
;


export declare type CreateStockReissuance = {
  reissuance_data: Fairmint_OpenCapTable_StockReissuance.OcfStockReissuanceTxData;
};

export declare const CreateStockReissuance:
  damlTypes.Serializable<CreateStockReissuance> & {
  }
;


export declare type CreateStockPlanReturnToPool = {
  return_data: Fairmint_OpenCapTable_StockPlanReturnToPool.OcfStockPlanReturnToPoolTxData;
};

export declare const CreateStockPlanReturnToPool:
  damlTypes.Serializable<CreateStockPlanReturnToPool> & {
  }
;


export declare type CreateStockPlanPoolAdjustment = {
  adjustment_data: Fairmint_OpenCapTable_StockPlanPoolAdjustment.OcfStockPlanPoolAdjustmentTxData;
};

export declare const CreateStockPlanPoolAdjustment:
  damlTypes.Serializable<CreateStockPlanPoolAdjustment> & {
  }
;


export declare type CreateStockPlan = {
  plan_data: Fairmint_OpenCapTable_StockPlan.OcfStockPlanData;
};

export declare const CreateStockPlan:
  damlTypes.Serializable<CreateStockPlan> & {
  }
;


export declare type CreateStockLegendTemplate = {
  template_data: Fairmint_OpenCapTable_StockLegendTemplate.OcfStockLegendTemplateData;
};

export declare const CreateStockLegendTemplate:
  damlTypes.Serializable<CreateStockLegendTemplate> & {
  }
;


export declare type CreateStockIssuance = {
  issuance_data: Fairmint_OpenCapTable_StockIssuance.OcfStockIssuanceData;
};

export declare const CreateStockIssuance:
  damlTypes.Serializable<CreateStockIssuance> & {
  }
;


export declare type CreateStockConversion = {
  conversion_data: Fairmint_OpenCapTable_StockConversion.OcfStockConversionTxData;
};

export declare const CreateStockConversion:
  damlTypes.Serializable<CreateStockConversion> & {
  }
;


export declare type CreateStockConsolidation = {
  consolidation_data: Fairmint_OpenCapTable_StockConsolidation.OcfStockConsolidationTxData;
};

export declare const CreateStockConsolidation:
  damlTypes.Serializable<CreateStockConsolidation> & {
  }
;


export declare type CreateStockClassSplit = {
  split_data: Fairmint_OpenCapTable_StockClassSplit.OcfStockClassSplitTxData;
};

export declare const CreateStockClassSplit:
  damlTypes.Serializable<CreateStockClassSplit> & {
  }
;


export declare type CreateStockClassConversionRatioAdjustment = {
  adjustment_data: Fairmint_OpenCapTable_StockClassConversionRatioAdjustment.OcfStockClassConversionRatioAdjustmentTxData;
};

export declare const CreateStockClassConversionRatioAdjustment:
  damlTypes.Serializable<CreateStockClassConversionRatioAdjustment> & {
  }
;


export declare type CreateStockClassAuthorizedSharesAdjustment = {
  adjustment_data: Fairmint_OpenCapTable_StockClassAuthorizedSharesAdjustment.OcfStockClassAuthorizedSharesAdjustmentTxData;
};

export declare const CreateStockClassAuthorizedSharesAdjustment:
  damlTypes.Serializable<CreateStockClassAuthorizedSharesAdjustment> & {
  }
;


export declare type CreateStockClass = {
  stock_class_data: Fairmint_OpenCapTable_StockClass.OcfStockClassData;
};

export declare const CreateStockClass:
  damlTypes.Serializable<CreateStockClass> & {
  }
;


export declare type CreateStockCancellation = {
  cancellation_data: Fairmint_OpenCapTable_StockCancellation.OcfStockCancellationTxData;
};

export declare const CreateStockCancellation:
  damlTypes.Serializable<CreateStockCancellation> & {
  }
;


export declare type CreateStockAcceptance = {
  acceptance_data: Fairmint_OpenCapTable_StockAcceptance.OcfStockAcceptanceTxData;
};

export declare const CreateStockAcceptance:
  damlTypes.Serializable<CreateStockAcceptance> & {
  }
;


export declare type CreateStakeholderStatusChangeEvent = {
  event_data: Fairmint_OpenCapTable_StakeholderStatusChangeEvent.OcfStakeholderStatusChangeEventData;
};

export declare const CreateStakeholderStatusChangeEvent:
  damlTypes.Serializable<CreateStakeholderStatusChangeEvent> & {
  }
;


export declare type CreateStakeholderRelationshipChangeEvent = {
  event_data: Fairmint_OpenCapTable_StakeholderRelationshipChangeEvent.OcfStakeholderRelationshipChangeEventData;
};

export declare const CreateStakeholderRelationshipChangeEvent:
  damlTypes.Serializable<CreateStakeholderRelationshipChangeEvent> & {
  }
;


export declare type CreateStakeholder = {
  stakeholder_data: Fairmint_OpenCapTable_Stakeholder.OcfStakeholderData;
};

export declare const CreateStakeholder:
  damlTypes.Serializable<CreateStakeholder> & {
  }
;


export declare type CreateIssuerAuthorizedSharesAdjustment = {
  adjustment_data: Fairmint_OpenCapTable_IssuerAuthorizedSharesAdjustment.OcfIssuerAuthorizedSharesAdjustmentTxData;
};

export declare const CreateIssuerAuthorizedSharesAdjustment:
  damlTypes.Serializable<CreateIssuerAuthorizedSharesAdjustment> & {
  }
;


export declare type CreateEquityCompensationRetraction = {
  retraction_data: Fairmint_OpenCapTable_EquityCompensationRetraction.OcfEquityCompensationRetractionTxData;
};

export declare const CreateEquityCompensationRetraction:
  damlTypes.Serializable<CreateEquityCompensationRetraction> & {
  }
;


export declare type CreateEquityCompensationTransfer = {
  transfer_data: Fairmint_OpenCapTable_EquityCompensationTransfer.OcfEquityCompensationTransferTxData;
};

export declare const CreateEquityCompensationTransfer:
  damlTypes.Serializable<CreateEquityCompensationTransfer> & {
  }
;


export declare type CreateEquityCompensationRepricing = {
  repricing_data: Fairmint_OpenCapTable_EquityCompensationRepricing.OcfEquityCompensationRepricingTxData;
};

export declare const CreateEquityCompensationRepricing:
  damlTypes.Serializable<CreateEquityCompensationRepricing> & {
  }
;


export declare type CreateEquityCompensationRelease = {
  release_data: Fairmint_OpenCapTable_EquityCompensationRelease.OcfEquityCompensationReleaseTxData;
};

export declare const CreateEquityCompensationRelease:
  damlTypes.Serializable<CreateEquityCompensationRelease> & {
  }
;


export declare type CreateEquityCompensationIssuance = {
  issuance_data: Fairmint_OpenCapTable_EquityCompensationIssuance.OcfEquityCompensationIssuanceTxData;
};

export declare const CreateEquityCompensationIssuance:
  damlTypes.Serializable<CreateEquityCompensationIssuance> & {
  }
;


export declare type CreateEquityCompensationExercise = {
  exercise_data: Fairmint_OpenCapTable_EquityCompensationExercise.OcfEquityCompensationExerciseData;
};

export declare const CreateEquityCompensationExercise:
  damlTypes.Serializable<CreateEquityCompensationExercise> & {
  }
;


export declare type CreateEquityCompensationCancellation = {
  cancellation_data: Fairmint_OpenCapTable_EquityCompensationCancellation.OcfEquityCompensationCancellationTxData;
};

export declare const CreateEquityCompensationCancellation:
  damlTypes.Serializable<CreateEquityCompensationCancellation> & {
  }
;


export declare type CreateEquityCompensationAcceptance = {
  acceptance_data: Fairmint_OpenCapTable_EquityCompensationAcceptance.OcfEquityCompensationAcceptanceTxData;
};

export declare const CreateEquityCompensationAcceptance:
  damlTypes.Serializable<CreateEquityCompensationAcceptance> & {
  }
;


export declare type CreateDocument = {
  document_data: Fairmint_OpenCapTable_Document.OcfDocument;
};

export declare const CreateDocument:
  damlTypes.Serializable<CreateDocument> & {
  }
;


export declare type CreateConvertibleRetraction = {
  retraction_data: Fairmint_OpenCapTable_ConvertibleRetraction.OcfConvertibleRetractionTxData;
};

export declare const CreateConvertibleRetraction:
  damlTypes.Serializable<CreateConvertibleRetraction> & {
  }
;


export declare type CreateConvertibleTransfer = {
  transfer_data: Fairmint_OpenCapTable_ConvertibleTransfer.OcfConvertibleTransferTxData;
};

export declare const CreateConvertibleTransfer:
  damlTypes.Serializable<CreateConvertibleTransfer> & {
  }
;


export declare type CreateConvertibleIssuance = {
  issuance_data: Fairmint_OpenCapTable_ConvertibleIssuance.OcfConvertibleIssuanceTxData;
};

export declare const CreateConvertibleIssuance:
  damlTypes.Serializable<CreateConvertibleIssuance> & {
  }
;


export declare type CreateConvertibleConversion = {
  conversion_data: Fairmint_OpenCapTable_ConvertibleConversion.OcfConvertibleConversionTxData;
};

export declare const CreateConvertibleConversion:
  damlTypes.Serializable<CreateConvertibleConversion> & {
  }
;


export declare type CreateConvertibleCancellation = {
  cancellation_data: Fairmint_OpenCapTable_ConvertibleCancellation.OcfConvertibleCancellationTxData;
};

export declare const CreateConvertibleCancellation:
  damlTypes.Serializable<CreateConvertibleCancellation> & {
  }
;


export declare type CreateConvertibleAcceptance = {
  acceptance_data: Fairmint_OpenCapTable_ConvertibleAcceptance.OcfConvertibleAcceptanceTxData;
};

export declare const CreateConvertibleAcceptance:
  damlTypes.Serializable<CreateConvertibleAcceptance> & {
  }
;


export declare type Issuer = {
  context: Fairmint_OpenCapTable_Types.Context;
  issuer_data: OcfIssuerData;
};

export declare interface IssuerInterface {
  CreateConvertibleAcceptance: damlTypes.Choice<Issuer, CreateConvertibleAcceptance, damlTypes.ContractId<Fairmint_OpenCapTable_ConvertibleAcceptance.ConvertibleAcceptance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateConvertibleCancellation: damlTypes.Choice<Issuer, CreateConvertibleCancellation, damlTypes.ContractId<Fairmint_OpenCapTable_ConvertibleCancellation.ConvertibleCancellation>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateConvertibleConversion: damlTypes.Choice<Issuer, CreateConvertibleConversion, damlTypes.ContractId<Fairmint_OpenCapTable_ConvertibleConversion.ConvertibleConversion>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateConvertibleIssuance: damlTypes.Choice<Issuer, CreateConvertibleIssuance, damlTypes.ContractId<Fairmint_OpenCapTable_ConvertibleIssuance.ConvertibleIssuance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateConvertibleTransfer: damlTypes.Choice<Issuer, CreateConvertibleTransfer, damlTypes.ContractId<Fairmint_OpenCapTable_ConvertibleTransfer.ConvertibleTransfer>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateConvertibleRetraction: damlTypes.Choice<Issuer, CreateConvertibleRetraction, damlTypes.ContractId<Fairmint_OpenCapTable_ConvertibleRetraction.ConvertibleRetraction>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateDocument: damlTypes.Choice<Issuer, CreateDocument, damlTypes.ContractId<Fairmint_OpenCapTable_Document.Document>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateEquityCompensationAcceptance: damlTypes.Choice<Issuer, CreateEquityCompensationAcceptance, damlTypes.ContractId<Fairmint_OpenCapTable_EquityCompensationAcceptance.EquityCompensationAcceptance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateEquityCompensationCancellation: damlTypes.Choice<Issuer, CreateEquityCompensationCancellation, damlTypes.ContractId<Fairmint_OpenCapTable_EquityCompensationCancellation.EquityCompensationCancellation>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateEquityCompensationExercise: damlTypes.Choice<Issuer, CreateEquityCompensationExercise, damlTypes.ContractId<Fairmint_OpenCapTable_EquityCompensationExercise.EquityCompensationExercise>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateEquityCompensationIssuance: damlTypes.Choice<Issuer, CreateEquityCompensationIssuance, damlTypes.ContractId<Fairmint_OpenCapTable_EquityCompensationIssuance.EquityCompensationIssuance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateEquityCompensationRelease: damlTypes.Choice<Issuer, CreateEquityCompensationRelease, damlTypes.ContractId<Fairmint_OpenCapTable_EquityCompensationRelease.EquityCompensationRelease>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateEquityCompensationRepricing: damlTypes.Choice<Issuer, CreateEquityCompensationRepricing, damlTypes.ContractId<Fairmint_OpenCapTable_EquityCompensationRepricing.EquityCompensationRepricing>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateEquityCompensationTransfer: damlTypes.Choice<Issuer, CreateEquityCompensationTransfer, damlTypes.ContractId<Fairmint_OpenCapTable_EquityCompensationTransfer.EquityCompensationTransfer>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateEquityCompensationRetraction: damlTypes.Choice<Issuer, CreateEquityCompensationRetraction, damlTypes.ContractId<Fairmint_OpenCapTable_EquityCompensationRetraction.EquityCompensationRetraction>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateIssuerAuthorizedSharesAdjustment: damlTypes.Choice<Issuer, CreateIssuerAuthorizedSharesAdjustment, damlTypes.ContractId<Fairmint_OpenCapTable_IssuerAuthorizedSharesAdjustment.IssuerAuthorizedSharesAdjustment>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStakeholder: damlTypes.Choice<Issuer, CreateStakeholder, damlTypes.ContractId<Fairmint_OpenCapTable_Stakeholder.Stakeholder>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStakeholderRelationshipChangeEvent: damlTypes.Choice<Issuer, CreateStakeholderRelationshipChangeEvent, damlTypes.ContractId<Fairmint_OpenCapTable_StakeholderRelationshipChangeEvent.StakeholderRelationshipChangeEvent>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStakeholderStatusChangeEvent: damlTypes.Choice<Issuer, CreateStakeholderStatusChangeEvent, damlTypes.ContractId<Fairmint_OpenCapTable_StakeholderStatusChangeEvent.StakeholderStatusChangeEvent>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockAcceptance: damlTypes.Choice<Issuer, CreateStockAcceptance, damlTypes.ContractId<Fairmint_OpenCapTable_StockAcceptance.StockAcceptance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockCancellation: damlTypes.Choice<Issuer, CreateStockCancellation, damlTypes.ContractId<Fairmint_OpenCapTable_StockCancellation.StockCancellation>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockClass: damlTypes.Choice<Issuer, CreateStockClass, damlTypes.ContractId<Fairmint_OpenCapTable_StockClass.StockClass>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockClassAuthorizedSharesAdjustment: damlTypes.Choice<Issuer, CreateStockClassAuthorizedSharesAdjustment, damlTypes.ContractId<Fairmint_OpenCapTable_StockClassAuthorizedSharesAdjustment.StockClassAuthorizedSharesAdjustment>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockClassConversionRatioAdjustment: damlTypes.Choice<Issuer, CreateStockClassConversionRatioAdjustment, damlTypes.ContractId<Fairmint_OpenCapTable_StockClassConversionRatioAdjustment.StockClassConversionRatioAdjustment>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockClassSplit: damlTypes.Choice<Issuer, CreateStockClassSplit, damlTypes.ContractId<Fairmint_OpenCapTable_StockClassSplit.StockClassSplit>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockConsolidation: damlTypes.Choice<Issuer, CreateStockConsolidation, damlTypes.ContractId<Fairmint_OpenCapTable_StockConsolidation.StockConsolidation>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockConversion: damlTypes.Choice<Issuer, CreateStockConversion, damlTypes.ContractId<Fairmint_OpenCapTable_StockConversion.StockConversion>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockIssuance: damlTypes.Choice<Issuer, CreateStockIssuance, damlTypes.ContractId<Fairmint_OpenCapTable_StockIssuance.StockIssuance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockLegendTemplate: damlTypes.Choice<Issuer, CreateStockLegendTemplate, damlTypes.ContractId<Fairmint_OpenCapTable_StockLegendTemplate.StockLegendTemplate>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockPlan: damlTypes.Choice<Issuer, CreateStockPlan, damlTypes.ContractId<Fairmint_OpenCapTable_StockPlan.StockPlan>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockPlanPoolAdjustment: damlTypes.Choice<Issuer, CreateStockPlanPoolAdjustment, damlTypes.ContractId<Fairmint_OpenCapTable_StockPlanPoolAdjustment.StockPlanPoolAdjustment>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockPlanReturnToPool: damlTypes.Choice<Issuer, CreateStockPlanReturnToPool, damlTypes.ContractId<Fairmint_OpenCapTable_StockPlanReturnToPool.StockPlanReturnToPool>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockReissuance: damlTypes.Choice<Issuer, CreateStockReissuance, damlTypes.ContractId<Fairmint_OpenCapTable_StockReissuance.StockReissuance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockRepurchase: damlTypes.Choice<Issuer, CreateStockRepurchase, damlTypes.ContractId<Fairmint_OpenCapTable_StockRepurchase.StockRepurchase>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockTransfer: damlTypes.Choice<Issuer, CreateStockTransfer, damlTypes.ContractId<Fairmint_OpenCapTable_StockTransfer.StockTransfer>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateStockRetraction: damlTypes.Choice<Issuer, CreateStockRetraction, damlTypes.ContractId<Fairmint_OpenCapTable_StockRetraction.StockRetraction>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateVestingAcceleration: damlTypes.Choice<Issuer, CreateVestingAcceleration, damlTypes.ContractId<Fairmint_OpenCapTable_VestingAcceleration.VestingAcceleration>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateVestingEvent: damlTypes.Choice<Issuer, CreateVestingEvent, damlTypes.ContractId<Fairmint_OpenCapTable_VestingEvent.VestingEvent>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateVestingStart: damlTypes.Choice<Issuer, CreateVestingStart, damlTypes.ContractId<Fairmint_OpenCapTable_VestingStart.VestingStart>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateVestingTerms: damlTypes.Choice<Issuer, CreateVestingTerms, damlTypes.ContractId<Fairmint_OpenCapTable_VestingTerms.VestingTerms>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateWarrantAcceptance: damlTypes.Choice<Issuer, CreateWarrantAcceptance, damlTypes.ContractId<Fairmint_OpenCapTable_WarrantAcceptance.WarrantAcceptance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateWarrantCancellation: damlTypes.Choice<Issuer, CreateWarrantCancellation, damlTypes.ContractId<Fairmint_OpenCapTable_WarrantCancellation.WarrantCancellation>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateWarrantExercise: damlTypes.Choice<Issuer, CreateWarrantExercise, damlTypes.ContractId<Fairmint_OpenCapTable_WarrantExercise.WarrantExercise>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateWarrantTransfer: damlTypes.Choice<Issuer, CreateWarrantTransfer, damlTypes.ContractId<Fairmint_OpenCapTable_WarrantTransfer.WarrantTransfer>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateWarrantRetraction: damlTypes.Choice<Issuer, CreateWarrantRetraction, damlTypes.ContractId<Fairmint_OpenCapTable_WarrantRetraction.WarrantRetraction>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  CreateWarrantIssuance: damlTypes.Choice<Issuer, CreateWarrantIssuance, damlTypes.ContractId<Fairmint_OpenCapTable_WarrantIssuance.WarrantIssuance>, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  Archive: damlTypes.Choice<Issuer, pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive, {}, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
  ArchiveByIssuer: damlTypes.Choice<Issuer, ArchiveByIssuer, {}, undefined> & damlTypes.ChoiceFrom<damlTypes.Template<Issuer, undefined>>;
}
export declare const Issuer:
  damlTypes.Template<Issuer, undefined, '#OpenCapTable-v25:Fairmint.OpenCapTable.Issuer:Issuer'> &
  damlTypes.ToInterface<Issuer, never> &
  IssuerInterface;

export declare namespace Issuer {
  export type CreateEvent = damlLedger.CreateEvent<Issuer, undefined, typeof Issuer.templateId>
  export type ArchiveEvent = damlLedger.ArchiveEvent<Issuer, typeof Issuer.templateId>
  export type Event = damlLedger.Event<Issuer, undefined, typeof Issuer.templateId>
  export type QueryResult = damlLedger.QueryResult<Issuer, undefined, typeof Issuer.templateId>
}


