interface ICoin {
    amount: string;
    denom: string;
}
interface IAuthentication {
    type: number;
    code: string;
}
interface IBaseRequest {
    info: {
        account_id: number;
    };
    authentication: IAuthentication[];
}
interface ISend {
    address: string;
    coins: ICoin[];
}
interface IMultiSend {
    recipients: ISend[];
}
interface IDelegation {
    validator_address: string;
    coin: ICoin;
}
interface IBlockchainSendRequestData extends IBaseRequest {
    transaction_data: {
        send: ISend;
        multi_send?: undefined;
        delegate?: undefined;
        undelegate?: undefined;
    };
}
interface IBlockchainMultiSendRequestData extends IBaseRequest {
    transaction_data: {
        send?: undefined;
        multi_send: IMultiSend;
        delegate?: undefined;
        undelegate?: undefined;
    };
}
interface IBlockchainDelegateRequestData extends IBaseRequest {
    transaction_data: {
        send?: undefined;
        multi_send?: undefined;
        delegate: IDelegation;
        undelegate?: undefined;
    };
}
interface IBlockchainUndelegateRequestData extends IBaseRequest {
    transaction_data: {
        send?: undefined;
        multi_send?: undefined;
        delegate?: undefined;
        undelegate: IDelegation;
    };
}
export { IBlockchainSendRequestData, IBlockchainMultiSendRequestData, IBlockchainDelegateRequestData, IBlockchainUndelegateRequestData, };
